本文整理汇总了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;未经允许,请勿转载。 |
请发表评论