本文整理汇总了Python中coalib.output.ConfWriter.ConfWriter.write_sections方法的典型用法代码示例。如果您正苦于以下问题:Python ConfWriter.write_sections方法的具体用法?Python ConfWriter.write_sections怎么用?Python ConfWriter.write_sections使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类coalib.output.ConfWriter.ConfWriter
的用法示例。
在下文中一共展示了ConfWriter.write_sections方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: delete_row
# 需要导入模块: from coalib.output.ConfWriter import ConfWriter [as 别名]
# 或者: from coalib.output.ConfWriter.ConfWriter import write_sections [as 别名]
def delete_row(self, button, listboxrow):
del self.sections_dict[self.section_stack_map[listboxrow].get_name()]
self.section_stack_map[listboxrow].destroy()
del self.section_stack_map[listboxrow]
listboxrow.destroy()
conf_writer = ConfWriter(self.src+'/.coafile')
conf_writer.write_sections(self.sections_dict)
conf_writer.close()
示例2: update_section_name
# 需要导入模块: from coalib.output.ConfWriter import ConfWriter [as 别名]
# 或者: from coalib.output.ConfWriter.ConfWriter import write_sections [as 别名]
def update_section_name(self, widget, arg, old_name, section_view):
section_view.set_name(widget.get_name())
self.sections_dict[old_name].name = widget.get_name()
self.sections_dict = update_ordered_dict_key(self.sections_dict,
old_name,
widget.get_name())
widget.connect("edited", self.update_section_name, widget.get_name())
conf_writer = ConfWriter(self.src+'/.coafile')
conf_writer.write_sections(self.sections_dict)
conf_writer.close()
示例3: on_key_changed
# 需要导入模块: from coalib.output.ConfWriter import ConfWriter [as 别名]
# 或者: from coalib.output.ConfWriter.ConfWriter import write_sections [as 别名]
def on_key_changed(self, widget, arg, sensitive_button, value_entry):
setting = Setting(widget.get_name(), value_entry.get_text())
self.sections_dict[self.get_name()].append(setting)
self.add_setting()
sensitive_button.set_sensitive(True)
sensitive_button.set_name(setting.key)
widget.connect("edited", self.update_key, setting, sensitive_button)
value_entry.connect("focus-out-event", self.update_value, setting)
conf_writer = ConfWriter(self.src+'/.coafile')
conf_writer.write_sections(self.sections_dict)
conf_writer.close()
示例4: ConfWriterTest
# 需要导入模块: from coalib.output.ConfWriter import ConfWriter [as 别名]
# 或者: from coalib.output.ConfWriter.ConfWriter import write_sections [as 别名]
class ConfWriterTest(unittest.TestCase):
example_file = ("to be ignored \n"
" save=true\n"
" a_default, another = val \n"
" TEST = tobeignored # thats a comment \n"
" test = push \n"
" t = \n"
" [MakeFiles] \n"
" j , ANother = a \n"
" multiline \n"
" value \n"
" ; just a omment \n"
" ; just a omment \n")
def setUp(self):
self.file = os.path.join(tempfile.gettempdir(), "ConfParserTestFile")
with open(self.file, "w", encoding='utf-8') as filehandler:
filehandler.write(self.example_file)
self.conf_parser = ConfParser()
self.write_file_name = os.path.join(tempfile.gettempdir(),
"ConfWriterTestFile")
self.uut = ConfWriter(self.write_file_name)
def tearDown(self):
self.uut.close()
os.remove(self.file)
os.remove(self.write_file_name)
def test_exceptions(self):
self.assertRaises(TypeError, self.uut.write_section, 5)
def test_write(self):
result_file = ["[Default]\n",
"save = true\n",
"a_default, another = val\n",
"# thats a comment\n",
"test = push\n",
"t = \n",
"\n",
"[MakeFiles]\n",
"j, ANother = a\n",
"multiline\n",
"value\n",
"; just a omment\n",
"; just a omment\n"]
self.uut.write_sections(self.conf_parser.parse(self.file))
self.uut.close()
with open(self.write_file_name, "r") as f:
lines = f.readlines()
self.assertEqual(result_file, lines)
示例5: save_sections
# 需要导入模块: from coalib.output.ConfWriter import ConfWriter [as 别名]
# 或者: from coalib.output.ConfWriter.ConfWriter import write_sections [as 别名]
def save_sections(sections):
"""
Saves the given sections if they are to be saved.
:param sections: A section dict.
"""
default_section = sections["default"]
try:
if bool(default_section.get("save", "false")):
conf_writer = ConfWriter(str(default_section.get("config", ".coafile")))
else:
return
except ValueError:
conf_writer = ConfWriter(str(default_section.get("save", ".coafile")))
conf_writer.write_sections(sections)
conf_writer.close()
示例6: create_section_view
# 需要导入模块: from coalib.output.ConfWriter import ConfWriter [as 别名]
# 或者: from coalib.output.ConfWriter.ConfWriter import write_sections [as 别名]
def create_section_view(self, widget=None, arg=None, row_obejct=None):
section_view = SectionView(self.sections_dict, self.src)
section_view.set_visible(True)
section_view.set_name(widget.get_name())
self.sections.add_named(section_view, widget.get_name())
self.sections.set_visible_child_name(widget.get_name())
if arg is not None:
widget.connect("edited",
self.update_section_name,
widget.get_name(),
section_view)
self.sections_dict[widget.get_name()] = Section(widget.get_name())
section_view.add_setting()
conf_writer = ConfWriter(self.src+'/.coafile')
conf_writer.write_sections(self.sections_dict)
conf_writer.close()
self.section_stack_map[row_obejct] = section_view
示例7: save_sections
# 需要导入模块: from coalib.output.ConfWriter import ConfWriter [as 别名]
# 或者: from coalib.output.ConfWriter.ConfWriter import write_sections [as 别名]
def save_sections(sections):
"""
Saves the given sections if they are to be saved.
:param sections: A section dict.
"""
default_section = sections['default']
try:
if bool(default_section.get('save', 'false')):
conf_writer = ConfWriter(
str(default_section.get('config', Constants.default_coafile)))
else:
return
except ValueError:
conf_writer = ConfWriter(str(default_section.get('save', '.coafile')))
conf_writer.write_sections(sections)
conf_writer.close()
示例8: update_value
# 需要导入模块: from coalib.output.ConfWriter import ConfWriter [as 别名]
# 或者: from coalib.output.ConfWriter.ConfWriter import write_sections [as 别名]
def update_value(self, widget, arg, setting):
setting.value = widget.get_text()
conf_writer = ConfWriter(self.src+'/.coafile')
conf_writer.write_sections(self.sections_dict)
conf_writer.close()
示例9: update_key
# 需要导入模块: from coalib.output.ConfWriter import ConfWriter [as 别名]
# 或者: from coalib.output.ConfWriter.ConfWriter import write_sections [as 别名]
def update_key(self, widget, arg, setting, delete_button):
setting.key = widget.get_name()
delete_button.set_name(widget.get_name())
conf_writer = ConfWriter(self.src+'/.coafile')
conf_writer.write_sections(self.sections_dict)
conf_writer.close()
示例10: delete_setting
# 需要导入模块: from coalib.output.ConfWriter import ConfWriter [as 别名]
# 或者: from coalib.output.ConfWriter.ConfWriter import write_sections [as 别名]
def delete_setting(self, button, setting_row):
self.sections_dict[self.get_name()].delete_setting(button.get_name())
setting_row.destroy()
conf_writer = ConfWriter(self.src+'/.coafile')
conf_writer.write_sections(self.sections_dict)
conf_writer.close()
示例11: ConfWriterTest
# 需要导入模块: from coalib.output.ConfWriter import ConfWriter [as 别名]
# 或者: from coalib.output.ConfWriter.ConfWriter import write_sections [as 别名]
class ConfWriterTest(unittest.TestCase):
example_file = ('to be ignored \n'
' save=true\n'
' a_default, another = val \n'
' TEST = tobeignored # thats a comment \n'
' test = push \n'
' t = \n'
' [Section] \n'
' [MakeFiles] \n'
' j , ANother = a \n'
' multiline \n'
' value \n'
' ; just a omment \n'
' ; just a omment \n'
' key\\ space = value space\n'
' key\\=equal = value=equal\n'
' key\\\\backslash = value\\\\backslash\n'
' key\\,comma = value,comma\n'
' key\\#hash = value\\#hash\n'
' key\\.dot = value.dot\n')
def setUp(self):
self.file = os.path.join(tempfile.gettempdir(), 'ConfParserTestFile')
with open(self.file, 'w', encoding='utf-8') as file:
file.write(self.example_file)
self.conf_parser = ConfParser()
self.write_file_name = os.path.join(tempfile.gettempdir(),
'ConfWriterTestFile')
self.uut = ConfWriter(self.write_file_name)
def tearDown(self):
self.uut.close()
os.remove(self.file)
os.remove(self.write_file_name)
def test_exceptions(self):
self.assertRaises(TypeError, self.uut.write_section, 5)
def test_write(self):
result_file = ['[Default]\n',
'save = true\n',
'a_default, another = val\n',
'# thats a comment\n',
'test = push\n',
't = \n',
'[Section]\n',
'[MakeFiles]\n',
'j, ANother = a\n',
'multiline\n',
'value\n',
'; just a omment\n',
'; just a omment\n',
'key\\ space = value space\n',
'key\\=equal = value=equal\n',
'key\\\\backslash = value\\\\backslash\n',
'key\\,comma = value,comma\n',
'key\\#hash = value\\#hash\n',
'key\\.dot = value.dot\n']
self.uut.write_sections(self.conf_parser.parse(self.file))
self.uut.close()
with open(self.write_file_name, 'r') as f:
lines = f.readlines()
self.assertEqual(result_file, lines)
示例12: run
# 需要导入模块: from coalib.output.ConfWriter import ConfWriter [as 别名]
# 或者: from coalib.output.ConfWriter.ConfWriter import write_sections [as 别名]
#.........这里部分代码省略.........
self.coafile_sections = self._load_config_file(config)
self.sections = self._merge_section_dicts(self.default_sections,
self.user_sections)
self.sections = self._merge_section_dicts(self.sections,
self.coafile_sections)
self.sections = self._merge_section_dicts(self.sections,
self.cli_sections)
for section in self.sections:
if section != "default":
self.sections[section].defaults = self.sections["default"]
def _load_config_file(self, filename, silent=False):
"""
Loads sections from a config file. Prints an appropriate warning if
it doesn't exist and returns a section dict containing an empty
default section in that case.
It assumes that the cli_sections are available.
:param filename: The file to load settings from.
:param silent: Whether or not to warn the user if the file doesn't
exist.
"""
filename = os.path.abspath(filename)
try:
return self.conf_parser.reparse(filename)
except self.conf_parser.FileNotFoundError:
if not silent:
self.cli_sections["default"].retrieve_logging_objects()
self.cli_sections["default"].log_printer.warn(
_("The requested coafile '{filename}' does not exist. "
"Thus it will not be used.").format(filename=filename))
return {"default": Section("default")}
def _fill_settings(self):
for section_name in self.sections:
section = self.sections[section_name]
section.retrieve_logging_objects()
bear_dirs = path_list(section.get("bear_dirs", ""))
bear_dirs.append(os.path.join(StringConstants.coalib_bears_root,
"**"))
bears = list(section.get("bears", ""))
local_bears = collect_bears(bear_dirs,
bears,
[BEAR_KIND.LOCAL])
global_bears = collect_bears(bear_dirs,
bears,
[BEAR_KIND.GLOBAL])
filler = SectionFiller(section)
all_bears = copy.deepcopy(local_bears)
all_bears.extend(global_bears)
filler.fill_section(all_bears)
self.local_bears[section_name] = local_bears
self.global_bears[section_name] = global_bears
def _save_configuration(self):
self.conf_writer = None
default_section = self.sections["default"]
try:
if bool(default_section.get("save", "false")):
self.conf_writer = ConfWriter(str(
default_section.get("config", ".coafile")))
except ValueError:
self.conf_writer = ConfWriter(str(default_section.get("save",
".coafile")))
if self.conf_writer is not None:
self.conf_writer.write_sections(self.sections)
@staticmethod
def _merge_section_dicts(lower, higher):
"""
Merges the section dictionaries. The values of higher will take
precedence over the ones of lower. Lower will hold the modified dict in
the end.
"""
for name in higher:
if name in lower:
lower[name].update(higher[name], ignore_defaults=True)
else:
# no deep copy needed
lower[name] = higher[name]
return lower
def _warn_nonexistent_targets(self):
for target in self.targets:
if target not in self.sections:
self.sections["default"].log_printer.warn(
_("The requested section '{section}' is not existent. "
"Thus it cannot be executed.").format(section=target))
示例13: ConfWriterTest
# 需要导入模块: from coalib.output.ConfWriter import ConfWriter [as 别名]
# 或者: from coalib.output.ConfWriter.ConfWriter import write_sections [as 别名]
class ConfWriterTest(unittest.TestCase):
example_file = ('to be ignored \n'
' save=true\n'
' a_default, another = val \n'
' TEST = tobeignored # thats a comment \n'
' test = push \n'
' t = \n'
' [Section] \n'
' [MakeFiles] \n'
' j , ANother = a \n'
' multiline \n'
' value \n'
' ; just a omment \n'
' ; just a omment \n'
' key\\ space = value space\n'
' key\\=equal = value=equal\n'
' key\\\\backslash = value\\\\backslash\n'
' key\\,comma = value,comma\n'
' key\\#hash = value\\#hash\n'
' key\\.dot = value.dot\n'
' a_default = val, val2\n')
append_example_file = ('[defaults]\n'
'a = 4\n'
'b = 4,5,6\n'
'c = 4,5\n'
'd = 4\n'
'[defaults.new]\n'
'a = 4,5,6,7\n'
'b = 4,5,6,7\n'
'c = 4,5,6,7\n'
'd = 4,5,6,7\n')
def setUp(self):
self.file = os.path.join(tempfile.gettempdir(), 'ConfParserTestFile')
with open(self.file, 'w', encoding='utf-8') as file:
file.write(self.example_file)
self.log_printer = LogPrinter()
self.write_file_name = os.path.join(tempfile.gettempdir(),
'ConfWriterTestFile')
self.uut = ConfWriter(self.write_file_name)
def tearDown(self):
self.uut.close()
os.remove(self.file)
os.remove(self.write_file_name)
def test_exceptions(self):
self.assertRaises(TypeError, self.uut.write_section, 5)
def test_write(self):
result_file = ['[Section]\n',
'[MakeFiles]\n',
'j, ANother = a\n',
'multiline\n',
'value\n',
'; just a omment\n',
'; just a omment\n',
'key\\ space = value space\n',
'key\\=equal = value=equal\n',
'key\\\\backslash = value\\\\backslash\n',
'key\\,comma = value,comma\n',
'key\\#hash = value\\#hash\n',
'key\\.dot = value.dot\n',
'a_default += val2\n',
'[cli]\n',
'save = true\n',
'a_default, another = val\n',
'# thats a comment\n',
'test = push\n',
't = \n']
sections = load_configuration(['-c', escape(self.file, '\\')],
self.log_printer)[0]
del sections['cli'].contents['config']
self.uut.write_sections(sections)
self.uut.close()
with open(self.write_file_name, 'r') as f:
lines = f.readlines()
self.assertEqual(result_file, lines)
def test_append(self):
with open(self.file, 'w', encoding='utf-8') as file:
file.write(self.append_example_file)
result_file = ['[defaults]\n',
'a = 4\n',
'b = 4,5,6\n',
'c = 4,5\n',
'd = 4\n',
'[defaults.new]\n',
'b += 7\n',
'c += 6, 7\n',
'a, d += 5, 6, 7\n',
'[cli]\n']
sections = load_configuration(['-c', escape(self.file, '\\')],
self.log_printer)[0]
#.........这里部分代码省略.........