本文整理汇总了Python中task.Task.varargs方法的典型用法代码示例。如果您正苦于以下问题:Python Task.varargs方法的具体用法?Python Task.varargs怎么用?Python Task.varargs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类task.Task
的用法示例。
在下文中一共展示了Task.varargs方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: add_function
# 需要导入模块: from task import Task [as 别名]
# 或者: from task.Task import varargs [as 别名]
def add_function(subparsers, module, funcname):
func = getattr(module, funcname)
if getattr(func, 'ignore', False) or not inspect.isfunction(func):
return
depends = getattr(func, "depends", None)
task = Task(funcname, func, depends)
rules[funcname] = task
subparser = subparsers.add_parser(funcname, help=func.__doc__)
args, varargs, keywords, defaults = inspect.getargspec(func)
defaults = defaults or []
args = args or []
n_args = len(args) - len(defaults)
for arg in args[:n_args]:
subparser.add_argument(arg)
task.args.append(arg)
if varargs:
subparser.add_argument(varargs,
nargs="*")
task.varargs = varargs
for arg, default in zip(args[n_args:], defaults):
task.args.append(arg)
task.defaults[arg] = default
name = ('-' if len(arg) == 1 else '--') + arg
if isinstance(default, bool):
action = "store_" + str(not default).lower()
subparser.add_argument(name, default=default, action=action)
elif isinstance(default, int):
subparser.add_argument(name, default=default,
action="store", type=int)
else:
subparser.add_argument(name, default=default,
action="store")