Пример #1
0
def test_dictinary_configuration_fail(runner):
    def main(config):
        assert config.a_b_c == "abc_default"

    dict_options = {
        "a": {
            "b": {
                "c": "fail",
            },
        },
    }
    with pytest.raises(ValueError):
        build_entrypoint(main, build_options_from_dict(dict_options))
Пример #2
0
def test_defaults(runner):
    def main(config):
        assert config.a_b_c == "abc-default"
        assert config.b_c_d == 666
        assert config.c_d_e == ()
        assert config.configuration_file is None
        assert len(config) == 4

    ep = build_entrypoint(main, options)
    runner.invoke(ep, [], catch_exceptions=False)
Пример #3
0
def test_dictinary_configuration(runner):
    def main(config):
        assert config.a_b_c == "abc_default"

    dict_options = {
        "a": {
            "b": {
                "c": Option(default="abc-default"),
            },
        },
    }
    ep = build_entrypoint(main, build_options_from_dict(dict_options))
    runner.invoke(ep)
Пример #4
0
def test_config_duplicate(runner, tmp_path):
    def main(config):
        assert config.a_b_c == "abc-config"
        assert config.b_c_d == 667

    config_path = tmp_path / "config.yml"
    ep = build_entrypoint(main, options)
    config_path.write_text(
        dedent("""\
        a:
          b:
            c: abc-config
        a-b-c: fail
    """))
    with pytest.raises(ValueError):
        runner.invoke(ep, [str(config_path)], catch_exceptions=False)
Пример #5
0
def test_config(runner, tmp_path):
    def main(config):
        assert config.a_b_c == "abc-config"
        assert config.b_c_d == 667
        assert config.c_d_e == ("a", "b")
        assert config.configuration_file == str(config_path)

    config_path = tmp_path / "config.yml"
    ep = build_entrypoint(main, options)
    config_path.write_text(
        dedent("""\
        a:
          b:
            c: abc-config
        b-c:
          d: "667"
        c-d-e:
          - a
          - b
    """))
    runner.invoke(ep, [str(config_path)], catch_exceptions=False)
Пример #6
0
    _ = Patray(config)
    sys.exit(app.exec_())


style = Choice(["combo", "radio"])
options = [
    option("--profile-enabled", default=True, type=bool),
    option("--profile-style", default="combo", type=style),
    option("--port-enabled", default=True, type=bool),
    option("--port-style", default="radio", type=style),
    option("--port-maximum-volume", default=100, type=int),
    option("--port-hide-by-mask", multiple=True),
    option("--log-level", default="INFO"),
    option("--icon-path",
           default=None,
           required=False,
           type=Path(exists=True,
                     dir_okay=False,
                     readable=True,
                     resolve_path=True)),
    option("--icon-color",
           default="#fff",
           help="Use `random` value for random color on each click"),
    version_option(version, message="%(version)s"),
]
entrypoint = build_entrypoint(main,
                              options,
                              auto_envvar_prefix="PATRAY",
                              show_default=True)
entrypoint(prog_name="patray")