file_output

Abstract base class for subcommands that output to a file (or stdout).

class FileOutputSubcommand(parser: argparse.ArgumentParser)[source]

Abstract subcommand to output applications as some type of file.

after_write_file(args: argparse.Namespace, filename: str, doc: bokeh.document.document.Document)None[source]
abstract file_contents(args: argparse.Namespace, doc: bokeh.document.document.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

NotImplementedError

filename_from_route(route: str, ext: str)str[source]
classmethod files_arg(output_type_name: str)Tuple[str, Dict[str, Optional[str]]][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()
invoke(args: argparse.Namespace)None[source]
classmethod other_args()Tuple[Tuple[Tuple[str, str], Dict[str, object]], Tuple[str, Dict[str, str]]][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()
write_file(args: argparse.Namespace, filename: str, doc: bokeh.document.document.Document)None[source]