• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python config.Config类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中zirkon.config.Config的典型用法代码示例。如果您正苦于以下问题:Python Config类的具体用法?Python Config怎么用?Python Config使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Config类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: test_Config_defaults_sub

def test_Config_defaults_sub():
    config = Config(defaults=True)
    config['a'] = 10
    config['sub'] = {}
    config['sub']['x'] = 1
    config['sub']['subsub'] = {}
    config['sub']['subsub']['xx'] = 11
    config['sub']['subsub']['subsubsub'] = {}
    config['sub']['subsub']['subsubsub']['xxx'] = 111
    config['sub']['subsub']['subsubsub']['yyy'] = 222
    config['sub']['subsub']['yy'] = 22
    config['sub']['y'] = 2
    config['b'] = 20

    config2 = Config(defaults=True)
    config2.set_defaults(**config)
    assert len(config2) == 0

    assert config2['a'] == 10
    assert config2['sub']['x'] == 1
    assert config2['sub']['subsub']['xx'] == 11
    assert config2['sub']['subsub']['subsubsub']['xxx'] == 111
    assert config2['sub']['subsub']['subsubsub']['yyy'] == 222
    assert config2['sub']['subsub']['yy'] == 22
    assert config2['sub']['y'] == 2
    assert config2['b'] == 20
    assert len(config2) == 1
    assert config2.has_option('a')
    assert config2.has_section('sub')
开发者ID:simone-campagna,项目名称:zirkon,代码行数:29,代码来源:test_config.py


示例2: test_Config_read_merge_False

def test_Config_read_merge_False(tmpdir, cfg_source, cfg2):
    config = Config(cfg_source)
    tmpfile = tmpdir.join("read_nomerge.config").strpath
    cfg2.write(tmpfile)
    config.read(tmpfile, merge=False)
    assert compare_dicts(config, cfg2)
    assert len(config) == 2
开发者ID:simone-campagna,项目名称:zirkon,代码行数:7,代码来源:test_config.py


示例3: test_Config_copy

def test_Config_copy(defaultsvalue):
    config = Config(defaults=defaultsvalue)
    config['a'] = 10
    config.set_defaults(b=20)
    config2 = config.copy()
    assert config2 == config
    assert isinstance(config2, Config)
开发者ID:simone-campagna,项目名称:zirkon,代码行数:7,代码来源:test_config.py


示例4: test_Schema_PATH_add_default

def test_Schema_PATH_add_default(tmpdir, defaults):
    fn_config = tmpdir.join("PATH_add_default.config").strpath
    fn_schema = tmpdir.join("PATH_add_default.schema").strpath
    dirname = os.path.dirname(fn_config)

    config = Config(defaults=defaults)
    schema = Schema()

    with open(fn_config, "w") as f_out:
        f_out.write("""\
[sub]
""")
    config.read(fn_config, merge=True)

    with open(fn_schema, "w") as f_out:
        f_out.write("""\
a = Str(default=PATH.dirname + 'a')
[sub]
    b = Str(default=PATH.dirname + 'b')
""")
    schema.read(fn_schema, merge=True)

    schema.validate(config)
    assert config['a'] == dirname + 'a'
    assert config['sub']['b'] == dirname + 'b'
开发者ID:simone-campagna,项目名称:zirkon,代码行数:25,代码来源:test_schema_PATH.py


示例5: test_Config_defaults_get_defaults

def test_Config_defaults_get_defaults():
    config = Config(defaults=True)
    config.set_defaults(a={'x': 1}, b=10)
    assert isinstance(config.defaults, Section)
    assert config.defaults == {'a': {'x': 1}, 'b': 10}
    config = Config(defaults=False)
    assert config.defaults is None
开发者ID:simone-campagna,项目名称:zirkon,代码行数:7,代码来源:test_config.py


示例6: test_main_create_template_evaluate

def test_main_create_template_evaluate(files, string_io, evaluate):
    o_name = "xe-template.zirkon"
    s_name = "xe.zirkon-schema"
    with files.tmp(o_name):
        o_file = files[o_name]
        s_file = files[s_name]

        assert not os.path.exists(files[o_name])

        args = ["create", "-s", s_file, "-o", o_file]
        if evaluate:
            args.append("-e")
        log_stream, out_stream = run(args)

        config = Config()
        config.read(o_file, fmt="zirkon")
        config.dump(string_io)
        if evaluate:
            assert string_io.getvalue() == """\
a = 10
b = 20
c = 200
"""
        else:
            assert string_io.getvalue() == """\
开发者ID:simone-campagna,项目名称:zirkon,代码行数:25,代码来源:test_tool.py


示例7: test_Config_set_schema

def test_Config_set_schema(use_defaults):
    config = Config()
    schema = Schema(use_defaults=use_defaults)
    assert schema.use_defaults == use_defaults
    schema['x'] = Int(default=10)
    config['x'] = 4
    config.schema = schema
    config.self_validate()
开发者ID:simone-campagna,项目名称:zirkon,代码行数:8,代码来源:test_config_validation.py


示例8: test_create_template_from_schema

def test_create_template_from_schema(string_io):
    schema = Schema()
    schema['m0'] = Int(default=3)
    schema['m1'] = Int(default=ROOT['m0'] + 1)
    config = Config()
    create_template_from_schema(schema, config=config)
    
    config.dump(stream=string_io)
    assert string_io.getvalue() == """\
开发者ID:nazavode,项目名称:zirkon,代码行数:9,代码来源:test_utils.py


示例9: test_Config_defaults_add_subsub

def test_Config_defaults_add_subsub():
    config = Config(defaults=True)
    config['x'] = 10
    config.set_defaults(a=1, sub={'sa': 2, 'subsub': {'ssa': 3, 'empty1': {}, 'empty2': {'ee1': {}, 'ee2': {}}, 'subsubsub': {'sss': 4}, 'ssb': 5}, 'sb': 6}, b=7)
    assert config.has_section('sub')
    assert config['sub'].has_section('subsub')
    assert config['sub']['subsub'].has_section('subsubsub')
    assert not config['sub']['subsub'].has_section('empty1')
    assert not config['sub']['subsub'].has_section('empty2')
开发者ID:simone-campagna,项目名称:zirkon,代码行数:9,代码来源:test_config.py


示例10: test_Config_defaults_dump

def test_Config_defaults_dump(string_io):
    config = Config(defaults=True)
    config['x'] = 1
    config.set_defaults(alpha=10)
    config['sub'] = {'w': 2}
    config['sub'].set_defaults(beta=20, gamma={'x': 11}, delta={})
    assert config['sub']['beta'] == 20
    assert config['sub']['gamma']['x'] == 11
    config.dump(string_io)
    assert string_io.getvalue() == """\
开发者ID:simone-campagna,项目名称:zirkon,代码行数:10,代码来源:test_config.py


示例11: test_Config_no_defaults_set_defaults

def test_Config_no_defaults_set_defaults():
    config = Config(defaults=False)
    config.set_defaults(alpha=10, beta={'x': 1})
    assert config.has_option('alpha')
    assert config['alpha'] == 10
    assert len(config) == 2
    assert config.has_section('beta')
    assert config['beta'].has_option('x')
    assert config['beta']['x'] == 1
    assert len(config['beta']) == 1
开发者ID:simone-campagna,项目名称:zirkon,代码行数:10,代码来源:test_config.py


示例12: test_Config_read_merge_default

def test_Config_read_merge_default(tmpdir, cfg_source, cfg2):
    config = Config(cfg_source)
    tmpfile = tmpdir.join("read_nomerge.config").strpath
    cfg2.write(tmpfile)
    config.read(tmpfile)
    # config.dump()
    # print("...")
    # cfg2.dump()
    assert compare_dicts(config, cfg2)
    assert len(config) == 2
开发者ID:simone-campagna,项目名称:zirkon,代码行数:10,代码来源:test_config.py


示例13: test_main_read_write_2files

def test_main_read_write_2files(tmpdir):
    fn_cfg1 = tmpdir.join("2files_cfg1.config").strpath
    fn_cfg2 = tmpdir.join("2files_cfg2.config").strpath
    fn_sch1 = tmpdir.join("2files_sch1.schema").strpath
    fn_sch2 = tmpdir.join("2files_sch2.schema").strpath

    cfg1 = Config.from_string("""\
a = 10
[c]
    c1 = 20
""")
    cfg2 = Config.from_string("""\
b = 1.5
[d]
    d1 = 2.5
""")

    sch1 = Schema.from_string("""\
a = Int()
[d]
    d1 = Float()
    d2 = Float(default=3.5)
""")
    sch2 = Schema.from_string("""\
b = Float()
[c]
    c1 = Int()
    c2 = Int(default=30)
""")

    cfg1.to_file(fn_cfg1)
    cfg2.to_file(fn_cfg2)
    sch1.to_file(fn_sch1)
    sch2.to_file(fn_sch2)

    args = ["read", "-i", fn_cfg1, "-i", fn_cfg2, "-s", fn_sch1, "-s", fn_sch2, "--defaults"]

    log_stream, out_stream = run(args)
    reference = """\
a = 10
[c]
    c1 = 20
    c2 = 30
b = 1.5
[d]
    d1 = 2.5
    d2 = 3.5

"""
    # print("=== reference:")
    # print(reference)
    # print("=== result:")
    # print(out_stream.getvalue())
    assert out_stream.getvalue() == reference
    assert log_stream.getvalue() == ""
开发者ID:simone-campagna,项目名称:zirkon,代码行数:55,代码来源:test_tool.py


示例14: test_Config_defaults_eq

def test_Config_defaults_eq():
    config = Config(defaults=True)
    config['d'] = 11
    config['e'] = 12
    config.set_defaults(a={}, b=5, c={'x': 7}, d=8)
    
    config2 = Config(defaults=True)
    config2['d'] = 11
    config2['e'] = 12

    assert config != config2
开发者ID:simone-campagna,项目名称:zirkon,代码行数:11,代码来源:test_config.py


示例15: test_Config_defaults_section_add

def test_Config_defaults_section_add():
    config = Config(defaults=True)
    config.set_defaults(a={'x': 1})
    assert 'a' in config
    config['a']['t'] = 0.1
    assert config['a']['x'] == 1
    assert config['a']['t'] == 0.1
    assert not config.defaults['a'].has_option('t')
    del config['a']
    assert config.has_section('a')
    assert config['a'].has_option('x')
    assert config['a']['x'] == 1
开发者ID:simone-campagna,项目名称:zirkon,代码行数:12,代码来源:test_config.py


示例16: test_Config_read_merge_True

def test_Config_read_merge_True(tmpdir, cfg_source, cfg2):
    cfg1 = Config(cfg_source)
    config = Config(cfg_source)
    tmpfile = tmpdir.join("read_nomerge.config").strpath
    cfg2.write(tmpfile)
    config.read(tmpfile, merge=True)
    assert config != cfg2
    assert len(config) == 4
    assert config["a"] == cfg1["a"]
    assert config["b"]["b0"] == cfg1["b"]["b0"]
    assert config["b"]["b1"] == cfg2["b"]["b1"]
    assert config["c"] == cfg1["c"]
    assert config["d"] == cfg2["d"]
开发者ID:simone-campagna,项目名称:zirkon,代码行数:13,代码来源:test_config.py


示例17: test_Schema_defaults_defined_in_defaults

def test_Schema_defaults_defined_in_defaults(use_defaults, has_default):
    config = Config(defaults=True)
    config.defaults["x"] = 10

    schema = Schema(use_defaults=use_defaults)
    int_kwargs = {}
    if has_default:
        int_kwargs["default"] = 100
    schema["x"] = Int(**int_kwargs)

    assert not schema.validate(config)
    assert "x" in config.defaults
    assert config["x"] == 10
开发者ID:simone-campagna,项目名称:zirkon,代码行数:13,代码来源:test_schema.py


示例18: test_Config_copy_deep

def test_Config_copy_deep():
    config = Config()
    config['a'] = 10
    config['sub'] = {'x': 10, 'y': 20, 'z': {'w': 30, 't': 40}}
    s = config.to_string(fmt="zirkon")
    # config.dump()
    # print()
    config2 = config.copy()
    del config2["a"]
    del config2["sub"]["y"]
    del config2["sub"]["z"]
    # config.dump()
    s2 = config.to_string(fmt="zirkon")
    assert s == s2
开发者ID:simone-campagna,项目名称:zirkon,代码行数:14,代码来源:test_config.py


示例19: test_module_config_on_configure_observer_run

def test_module_config_on_configure_observer_run():
    cb0 = MyCallback(0, 0)
    cb1 = MyCallback(1, 1)
    assert cb0.ab == (0, 0)
    assert cb1.ab == (1, 1)
    module_config = ModuleConfig("""\
a = Int(default=2)
b = Int(default=5)
""",
        on_configure=[cb0, cb1])
    assert cb0.ab == (0, 0)
    assert cb1.ab == (1, 1)
    module_config.configure()
    assert cb0.ab == (2, 5)
    assert cb1.ab == (2, 5)
    cfg = Config.from_string("""\
a = 100
b = 3""")
    module_config.configure(cfg)
    assert cb0.ab == (100, 3)
    assert cb1.ab == (100, 3)
    cfg["a"] = 200
    module_config.configure(cfg)
    assert cb0.ab == (200, 3)
    assert cb1.ab == (200, 3)
    module_config.remove_on_configure_observer(cb1)
    cfg["a"] = 300
    module_config.configure(cfg)
    assert cb0.ab == (300, 3)
    assert cb1.ab == (200, 3)
开发者ID:simone-campagna,项目名称:zirkon,代码行数:30,代码来源:test_module_config.py


示例20: test_Config_defaults_copy

def test_Config_defaults_copy():
    config = Config(defaults=True)
    config['d'] = 11
    config['e'] = 12
    config.set_defaults(a={}, b=5, c={'x': 7}, d=8)
    config2 = config.copy()
    assert not config2.has_section('a')
    assert config2.has_option('b')
    assert config2['b'] == 5
    assert config2.has_section('c')
    assert len(config2['c']) == 0
    assert config2['c']['x'] == 7
    assert config2.has_option('d')
    assert config2['d'] == 11
    assert config2.has_option('e')
    assert config2['e'] == 12
开发者ID:simone-campagna,项目名称:zirkon,代码行数:16,代码来源:test_config.py



注:本文中的zirkon.config.Config类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python watcher.ZkFarmJoiner类代码示例发布时间:2022-05-26
下一篇:
Python test_utils.tmp_asset_finder函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap