bokeh.command.subcommand

提供一个基类,用于定义Bokeh命令行应用程序的子命令。

class Subcommand(parser: argparse.ArgumentParser)[源代码]

子命令的抽象基类

子类应该实现 invoke(self, args) 方法,该方法接受一组argparse处理的参数作为输入。

子类还应定义以下类属性:

  • name 此子命令的名称

  • help argparse用于此子命令的帮助字符串

  • args the parameters to pass to parser.add_argument

的格式 args 应该是以下形式的元组序列:

('argname', dict(
    metavar='ARGNAME',
    nargs='+',
))

示例

一个简单的子命令“foo”可能如下所示:

class Foo(Subcommand):

    name = "foo"
    help = "performs the Foo action"
    args = (
        ('--yell', dict(
            action='store_true',
            help="Make it loud",
        )),
    )

    def invoke(self, args):
        if args.yell:
            print("FOO!")
        else:
            print("foo")

然后执行 bokeh foo --yell 将打印 FOO! 在控制台上。

__init__(parser: argparse.ArgumentParser)None[源代码]

使用子命令的解析器初始化子命令

参数

parser (Parser) -- 一个Argparse Parser 实例来配置此子命令的参数。

此方法将自动添加中描述的所有参数 self.args . 子类可以对 self.parser .

abstract invoke(args: argparse.Namespace) → Optional[bool][源代码]

接管主程序流以执行子命令。

此方法必须由子类实现。 子类overwriten方法返回不同的类型:bool:Build None:FileOutput(由HTML、SVG和JSON子类化。PNG覆盖FileOutput.invoke文件输出方法),Info,Init,Sampledata,Secret,Serve,Static

参数

args (argparse.Namespace) -- 要分析的子命令的命令行参数

引发

NotImplementedError --