本文整理汇总了Python中doit.task.Task.task_dep方法的典型用法代码示例。如果您正苦于以下问题:Python Task.task_dep方法的具体用法?Python Task.task_dep怎么用?Python Task.task_dep使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类doit.task.Task
的用法示例。
在下文中一共展示了Task.task_dep方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: generate_tasks
# 需要导入模块: from doit.task import Task [as 别名]
# 或者: from doit.task.Task import task_dep [as 别名]
def generate_tasks(name, gen_result, gen_doc=None):
"""Create tasks from a task generator result.
@param name: (string) name of taskgen function
@param gen_result: value returned by a task generator function
@param gen_doc: (string/None) docstring from the task generator function
@return: (tuple) task,list of subtasks
"""
# task described as a dictionary
if isinstance(gen_result, dict):
if 'name' in gen_result:
raise InvalidTask("Task %s. Only subtasks use field name."%name)
gen_result['name'] = name
# Use task generator docstring
# if no doc present in task dict
if not 'doc' in gen_result:
gen_result['doc'] = gen_doc
return [dict_to_task(gen_result)]
# a generator
if isgenerator(gen_result):
group_task = Task(name, None, doc=gen_doc)
tasks = [group_task]
# the generator return subtasks as dictionaries .
for task_dict in gen_result:
# check valid input
if not isinstance(task_dict, dict):
raise InvalidTask("Task %s must yield dictionaries"% name)
if 'name' not in task_dict:
raise InvalidTask("Task %s must contain field name. %s"%
(name,task_dict))
# name is task.subtask
task_dict['name'] = "%s:%s"% (name, task_dict.get('name'))
sub_task = dict_to_task(task_dict)
sub_task.is_subtask = True
tasks.append(sub_task)
# add task dependencies to group task.
group_task.task_dep = [task.name for task in tasks[1:]]
return tasks
raise InvalidTask("Task %s. Must return a dictionary. got %s" %
(name, type(gen_result)))