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) Union[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[Union[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[Union[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()