file_output#

将输出到文件(或标准输出)的子命令的抽象基类。

class FileOutputSubcommand(parser: ArgumentParser)[source]#

将应用程序作为某种类型的文件输出的抽象子命令。

after_write_file(args: Namespace, filename: str, doc: Document) None[source]#
abstract file_contents(args: Namespace, doc: Document) str | bytes | list[str] | list[bytes][source]#

子类必须覆盖此方法以返回给定 doc 的输出文件的内容。子类化的方法返回不同的类型:str:html,json 字节:SVG,png

引发:

NotImplementedError

filename_from_route(route: str, ext: str) str[source]#
classmethod files_arg(output_type_name: str) tuple[str | tuple[str, ...], Argument][source]#

返回一个用于 files 的位置参数,以指定命令的文件输入。

子类应将其包含在其类 args 中。

示例

class Foo(FileOutputSubcommand):

    args = (

        FileOutputSubcommand.files_arg("FOO"),

        # more args for Foo

    ) + FileOutputSubcommand.other_args()
invoke(args: Namespace) None[source]#
classmethod other_args() tuple[tuple[str | tuple[str, ...], Argument], ...][source]#

返回用于指定输出写入位置的 -o / --output 参数,以及用于将任何其他命令行参数传递给子命令的 --args 参数。

子类应将其追加到其类 args 中。

示例

class Foo(FileOutputSubcommand):

    args = (

        FileOutputSubcommand.files_arg("FOO"),

        # more args for Foo

    ) + FileOutputSubcommand.other_args()
write_file(args: Namespace, filename: str, doc: Document) None[source]#