def _save_configuration(self): self.conf_writer = None try: if bool(self.conf_sections["default"]["save"]): self.conf_writer = ConfWriter( str(self.conf_sections["default"]["config"])) except ValueError: self.conf_writer = ConfWriter( str(self.conf_sections["default"]["save"])) if self.conf_writer is not None: self.conf_writer.write_sections(self.conf_sections)
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)
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()
def setUp(self): self.project_dir = os.getcwd() self.printer = ConsolePrinter() self.coafile = os.path.join(tempfile.gettempdir(), '.coafile') self.writer = ConfWriter(self.coafile) self.arg_parser = _get_arg_parser() self.old_argv = deepcopy(sys.argv) del sys.argv[1:]
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 save_sections(sections): """ Saves the given sections if they are to be saved. :param sections: A section dict. """ default_section = sections['cli'] try: if bool(default_section.get('save', 'false')): conf_writer = ConfWriter( str(default_section.get('config', Constants.local_coafile))) else: return except ValueError: conf_writer = ConfWriter(str(default_section.get('save', '.coafile'))) conf_writer.write_sections(sections) conf_writer.close()
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()
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 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()
def test_write_with_dir(self): self.uut_dir = ConfWriter(tempfile.gettempdir()) self.uut_dir.write_sections({'name': Section('name')}) self.uut_dir.close() with open(os.path.join(tempfile.gettempdir(), '.coafile'), 'r') as f: lines = f.readlines() self.assertEqual(['[name]\n'], lines) os.remove(os.path.join(tempfile.gettempdir(), '.coafile'))
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()
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
def write_coafile(printer, project_dir, settings): """ Writes the coafile to disk. :param printer: A ``ConsolePrinter`` object used for console interactions. :param project_dir: Full path of the user's project directory. :param settings: A dict with section name as key and a ``Section`` object as value. """ coafile = os.path.join(project_dir, ".coafile") if os.path.isfile(coafile): printer.print("'" + coafile + "' already exists.\nThe settings will be" " written to '" + coafile + ".new'", color="yellow") coafile = coafile + ".new" writer = ConfWriter(coafile) writer.write_sections(settings) writer.close() printer.print("'" + coafile + "' successfully generated.", color="green")
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()
def setUp(self): self.coafile = os.path.join(tempfile.gettempdir(), '.coafile') self.writer = ConfWriter(self.coafile) self.old_argv = deepcopy(sys.argv) del sys.argv[1:]
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()
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()
def generate_green_mode_sections(data, project_dir, project_files, ignore_globs, printer=None, suffix=''): """ Generates the section objects for the green_mode. :param data: This is the data structure generated from the method generate_data_struct_for_sections(). :param project_dir: The path of the project directory. :param project_files: List of paths to only the files inside the project directory. :param ignore_globs: The globs of files to ignore. :param printer: The ConsolePrinter object. :param suffix: A suffix that can be added to the `.coafile.green`. """ all_sections = { 'all': [], } lang_files = split_by_language(project_files) extset = get_extensions(project_files) ignored_files = generate_ignore_field(project_dir, lang_files.keys(), extset, ignore_globs) if ignored_files: section_all = Section('all') section_all['ignore'] = ignored_files all_sections['all'].append(section_all) for bear in data: num = 0 bear_sections = [] for setting_combs in data[bear]: if not setting_combs: continue for dict_ in setting_combs: num = num + 1 section = Section('all.' + bear.__name__ + str(num), None) for key_ in dict_: if key_ == 'filename': file_list_sec = dict_[key_] file_list_sec, ignore_list = aggregate_files( file_list_sec, project_dir) dict_[key_] = file_list_sec section['ignore'] = ', '.join( escape(x, '\\') for x in ignore_list) section['files'] = ', '.join( escape(x, '\\') for x in dict_[key_]) else: section[key_] = str(dict_[key_]) section['bears'] = bear.__name__ bear_sections.append(section) # Remove sections for the same bear who have common files i.e. more # than one setting was found to be green. file_list = [] new_bear_sections = [] for index, section in enumerate(bear_sections): if not section.contents['files'] in file_list: file_list.append(section.contents['files']) new_bear_sections.append(section) all_sections[bear.__name__] = new_bear_sections coafile = os.path.join(project_dir, '.coafile.green' + suffix) writer = ConfWriter(coafile) write_sections(writer, all_sections) writer.close() printer.print("'" + coafile + "' successfully generated.", color='green')
def setUp(self): self.coafile = os.path.join(tempfile.gettempdir(), '.coafile') self.writer = ConfWriter(self.coafile)