file_output#
Abstract base class for subcommands that output to a file (or stdout).
- class FileOutputSubcommand(parser: ArgumentParser)[source]#
Abstract subcommand to output applications as some type of file.
- abstract file_contents(args: Namespace, doc: Document) str | bytes | list[str] | list[bytes] [source]#
Subclasses must override this method to return the contents of the output file for the given doc. subclassed methods return different types: str: html, json bytes: SVG, png
- Raises:
- classmethod files_arg(output_type_name: str) tuple[str | tuple[str, ...], Argument] [source]#
Returns a positional arg for
files
to specify file inputs to the command.Subclasses should include this to their class
args
.Example
class Foo(FileOutputSubcommand): args = ( FileOutputSubcommand.files_arg("FOO"), # more args for Foo ) + FileOutputSubcommand.other_args()
- classmethod other_args() tuple[tuple[str | tuple[str, ...], Argument], ...] [source]#
Return args for
-o
/--output
to specify where output should be written, and for a--args
to pass on any additional command line args to the subcommand.Subclasses should append these to their class
args
.Example
class Foo(FileOutputSubcommand): args = ( FileOutputSubcommand.files_arg("FOO"), # more args for Foo ) + FileOutputSubcommand.other_args()