file_output#

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

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]#

子类必须重写此方法以返回给定文档的输出文件内容。子类方法返回不同的类型:str:html,json bytes: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]#