summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd Leonhardt <todd.leonhardt@gmail.com>2018-02-27 08:51:21 -0500
committerTodd Leonhardt <todd.leonhardt@gmail.com>2018-02-27 08:51:21 -0500
commit2ebaf978db5eed1223ae325e1c99d2c3358f1992 (patch)
tree2db572f4d952b08cdae094bca6716d990e0bf7fa
parent414e34e01efeaa0153dd1d6f9c1231761d9a3d6c (diff)
parent41c5484c3d198ceba9115710e79082790ab40a08 (diff)
downloadcmd2-git-2ebaf978db5eed1223ae325e1c99d2c3358f1992.tar.gz
Merge branch 'master' into transcript_poutput
-rwxr-xr-xcmd2.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/cmd2.py b/cmd2.py
index 1c2daf7b..cd2d9d54 100755
--- a/cmd2.py
+++ b/cmd2.py
@@ -30,6 +30,7 @@ import cmd
import codecs
import collections
import datetime
+import functools
import glob
import io
import optparse
@@ -271,6 +272,7 @@ def with_argument_list(func):
method. Default passes a string of whatever the user typed.
With this decorator, the decorated method will receive a list
of arguments parsed from user input using shlex.split()."""
+ @functools.wraps(func)
def cmd_wrapper(self, cmdline):
lexed_arglist = parse_quoted_string(cmdline)
func(self, lexed_arglist)
@@ -288,6 +290,7 @@ def with_argparser_and_unknown_args(argparser, subcommand_names=None):
:return: function that gets passed parsed args and a list of unknown args
"""
def arg_decorator(func):
+ @functools.wraps(func)
def cmd_wrapper(instance, cmdline):
lexed_arglist = parse_quoted_string(cmdline)
args, unknown = argparser.parse_known_args(lexed_arglist)
@@ -324,6 +327,7 @@ def with_argparser(argparser, subcommand_names=None):
:return: function that gets passed parsed args
"""
def arg_decorator(func):
+ @functools.wraps(func)
def cmd_wrapper(instance, cmdline):
lexed_arglist = parse_quoted_string(cmdline)
args = argparser.parse_args(lexed_arglist)
@@ -387,6 +391,7 @@ def options(option_list, arg_desc="arg"):
option_parser.set_usage("%s %s" % (func.__name__[3:], arg_desc))
option_parser._func = func
+ @functools.wraps(func)
def new_func(instance, arg):
"""For @options commands this replaces the actual do_* methods in the instance __dict__.