collection

class invoke.collection.Collection(*args: Any, **kwargs: Any)

可执行任务的集合。见 构造命名空间 .

在 1.0 版本加入.

__eq__(other: object) bool

返回self==值。

__getitem__(name: str | None = None) Any

返回名为 name 。支持别名和子集合。

如果此集合具有默认任务,则在 name 为空或 None 。如果输入为空,并且未选择任何任务作为默认任务,则将引发ValueError。

子集合中的任务应以虚线形式给出,例如‘foo.bar’。子集合的名称将返回子集合的默认任务。

在 1.0 版本加入.

__hash__ = None
__repr__() str

返回epr(Self)。

add_collection(coll: Collection, name: str | None = None, default: bool | None = None) None

增列 Collection coll 作为这个集合的子集合。

参数:
  • coll -- 这个 Collection 要添加。

  • name (str) -- 要附加集合的名称。默认为集合自己的内部名称。

  • default -- 此子集合(‘S默认任务或集合)是否应为父集合的默认调用。

在 1.0 版本加入.

在 1.5 版本发生变更: 添加了 default 参数。

add_task(task: Task, name: str | None = None, aliases: Tuple[str, ...] | None = None, default: bool | None = None) None

增列 Task task 这套藏品。

参数:
  • task -- 这个 Task 要添加到此集合中的。

  • name -- 要绑定到的可选字符串名称(覆盖任务自己的自定义名称 name 属性和/或任何Python标识符(即 .func_name 。)

  • aliases -- 可选的可迭代附加名称,以将任务绑定为,位于主要名称的顶部。这些别名将用于任务本身在内部声明的任何别名之外。

  • default -- 此任务是否应为收集默认设置。

在 1.0 版本加入.

configuration(taskpath: str | None = None) Dict[str, Any]

从集合&子集合中获取合并的配置值。

参数:

taskpath -- (可选)任务名称/路径,与用于 __getitem__ (例如,可以为嵌套任务等添加点。)用于确定合并配置值时在集合树中遵循的路径。

返回:

A dict 包含配置值的。

在 1.0 版本加入.

configure(options: Dict[str, Any]) None

(递归)合并 options 涌入洋流 configuration

以这种方式配置的选项将可用于所有任务。建议使用唯一密钥,以避免与其他配置选项发生潜在冲突

例如,如果您正在配置Sphinx docs构建目标目录,最好使用如下键 'sphinx.target' 不仅仅是简单地 'target'

参数:

options -- 实现字典协议的对象。

返回:

None

在 1.0 版本加入.

classmethod from_module(module: module, name: str | None = None, config: Dict[str, Any] | None = None, loaded_from: str | None = None, auto_dash_names: bool | None = None) Collection

返回一个新的 Collection 创建者 module

检查 module 对于任何 Task 实例,并将它们添加到新的 Collection ,还给我。如果存在任何显式命名空间集合(已命名 nsnamespace )优先加载该集合对象的副本。

生成隐式/默认集合时,它将以模块的 __name__ 属性,或者它的最后一个虚线部分(如果它是子模块)。(即,它通常应映射到实际 .py 文件名。)

如果显式给定的集合还没有有效的 .name 属性。

如果模块具有文档字符串 (__doc__ )将其复制到生成的 Collection (并用于在帮助、列表等输出中显示。)

参数:
  • name (str) -- 一个字符串,如果给定,它将覆盖任何自动派生的集合名称(或在模块的根命名空间上设置的名称,如果有)。

  • config (dict) -- 用于设置新创建的 Collection 在退还它之前(省去了给您打电话 configure 。)如果导入的模块具有根命名空间对象, config 在其上合并(即覆盖任何冲突)。

  • loaded_from (str) -- 与常规类构造函数中的同名kwarg相同的路径应该是找到模块的路径。

  • auto_dash_names (bool) -- 与常规类构造函数中的同名kwarg相同-确定发出的名称是否自动划线。

在 1.0 版本加入.

serialized() Dict[str, Any]

返回此对象的适合序列化的版本。

请参阅的文档 Program 以及它的 json 任务列表格式;此方法是该功能的驱动程序。

在 1.0 版本加入.

subcollection_from_path(path: str) Collection

给出了一个 path 向子集合返回该子集合。

在 1.0 版本加入.

property task_names: Dict[str, List[str]]

以一级字典的形式返回此集合的所有任务标识符。

具体地说,就是以主要/“真实”任务名称为关键字,以任何别名为列表值的字典。

它基本上将名称空间树折叠为单个可轻松扫描的调用字符串集合,因此适用于平面样式的任务列表或转换为解析器上下文。

在 1.0 版本加入.

task_with_config(name: str | None) Tuple[str, Dict[str, Any]]

退货任务名为 name 加上它的配置字典。

例如,在深度嵌套的树中,此方法返回 Task ,以及通过合并此配置字典创建的配置字典 Collection 和任何嵌套的 Collections ,直到实际持有的那个 Task

看见 __getitem__ 的语义。 name 争论。

返回:

两个元组 (Taskdict )。

在 1.0 版本加入.

to_contexts(ignore_unknown_help: bool | None = None) List[ParserContext]

以解析器上下文列表的形式返回所有包含的任务和子任务。

参数:

ignore_unknown_help (bool) -- 传递给每个任务的 get_arguments() 方法。有关详细信息,请参阅相同名称的配置选项。

在 1.0 版本加入.

在 1.7 版本发生变更: 添加了 ignore_unknown_help 科瓦格。

transform(name: str) str

变换 name 具有已配置的自动划线行为。

如果收藏集是 auto_dash_names 属性为 True (默认),则所有非前导/尾随下划线都将转换为破折号。(前导/尾随下划线往往会在堆栈中的其他位置被剥离。)

如果是的话 False ,反之亦然--所有的破折号都会变成下划线。

在 1.0 版本加入.