Python configparser.DuplicateSectionError() Examples
The following are 23
code examples of configparser.DuplicateSectionError().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
configparser
, or try the search function
.
Example #1
Source File: outliers.py From ee-outliers with GNU General Public License v3.0 | 6 votes |
def load_analyzers(): analyzers = list() for use_case_arg in settings.args.use_cases: for use_case_file in glob.glob(use_case_arg, recursive=True): if not os.path.isdir(use_case_file): logging.logger.debug("Loading use case %s" % use_case_file) try: analyzers.extend(AnalyzerFactory.create_multi(use_case_file)) except (ValueError, MissingSectionHeaderError, DuplicateSectionError, DuplicateOptionError) as e: logging.logger.error("An error occured when loading %s: %s" % (use_case_file, str(e))) return analyzers # pylint: disable=too-many-branches
Example #2
Source File: Preferences.py From Uranium with GNU Lesser General Public License v3.0 | 6 votes |
def deserialize(self, serialized: str) -> None: """Extract data from string and store it in the Configuration parser.""" updated_preferences = self.__updateSerialized(serialized) self._parser = configparser.ConfigParser(interpolation = None) try: self._parser.read_string(updated_preferences) except (configparser.MissingSectionHeaderError, configparser.DuplicateOptionError, configparser.DuplicateSectionError, configparser.ParsingError, configparser.InterpolationError) as e: Logger.log("w", "Could not deserialize preferences file: {error}".format(error = str(e))) self._parser = None return has_version = "general" in self._parser and "version" in self._parser["general"] if has_version: if self._parser["general"]["version"] != str(Preferences.Version): Logger.log("w", "Could not deserialize preferences from loaded project") self._parser = None return else: return self.__initializeSettings()
Example #3
Source File: test_configparser.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def test_duplicatesectionerror(self): import pickle e1 = configparser.DuplicateSectionError('section', 'source', 123) for proto in range(pickle.HIGHEST_PROTOCOL + 1): pickled = pickle.dumps(e1, proto) e2 = pickle.loads(pickled) self.assertEqual(e1.message, e2.message) self.assertEqual(e1.args, e2.args) self.assertEqual(e1.section, e2.section) self.assertEqual(e1.source, e2.source) self.assertEqual(e1.lineno, e2.lineno) self.assertEqual(repr(e1), repr(e2))
Example #4
Source File: inventory.py From product-sp with Apache License 2.0 | 5 votes |
def ensure_required_groups(self, groups): for group in groups: try: self.debug("Adding group {0}".format(group)) self.config.add_section(group) except configparser.DuplicateSectionError: pass
Example #5
Source File: rssconfig.py From RSScrawler with MIT License | 5 votes |
def __init__(self, section, configfile): self._configfile = configfile self._section = section self._config = configparser.RawConfigParser() try: self._config.read(self._configfile) self._config.has_section( self._section) or self._set_default_config(self._section) self.__config__ = self._read_config(self._section) except configparser.DuplicateSectionError: print(u'Doppelte Sektion in der Konfigurationsdatei.') raise except: print(u'Ein unbekannter Fehler in der Konfigurationsdatei ist aufgetreten.') raise
Example #6
Source File: test_configparser.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_duplicatesectionerror(self): import pickle e1 = configparser.DuplicateSectionError('section', 'source', 123) for proto in range(pickle.HIGHEST_PROTOCOL + 1): pickled = pickle.dumps(e1, proto) e2 = pickle.loads(pickled) self.assertEqual(e1.message, e2.message) self.assertEqual(e1.args, e2.args) self.assertEqual(e1.section, e2.section) self.assertEqual(e1.source, e2.source) self.assertEqual(e1.lineno, e2.lineno) self.assertEqual(repr(e1), repr(e2))
Example #7
Source File: test_configparser.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_weird_errors(self): cf = self.newconfig() cf.add_section("Foo") with self.assertRaises(configparser.DuplicateSectionError) as cm: cf.add_section("Foo") e = cm.exception self.assertEqual(str(e), "Section 'Foo' already exists") self.assertEqual(e.args, ("Foo", None, None)) if self.strict: with self.assertRaises(configparser.DuplicateSectionError) as cm: cf.read_string(textwrap.dedent("""\ [Foo] will this be added{equals}True [Bar] what about this{equals}True [Foo] oops{equals}this won't """.format(equals=self.delimiters[0])), source='<foo-bar>') e = cm.exception self.assertEqual(str(e), "While reading from '<foo-bar>' " "[line 5]: section 'Foo' already exists") self.assertEqual(e.args, ("Foo", '<foo-bar>', 5)) with self.assertRaises(configparser.DuplicateOptionError) as cm: cf.read_dict({'Bar': {'opt': 'val', 'OPT': 'is really `opt`'}}) e = cm.exception self.assertEqual(str(e), "While reading from '<dict>': option " "'opt' in section 'Bar' already exists") self.assertEqual(e.args, ("Bar", "opt", "<dict>", None))
Example #8
Source File: launch.py From cwl-airflow with Apache License 2.0 | 5 votes |
def update_airflow_config(self): conf = self.__get_configuration() with open(self.airflow_cfg, 'w') as f: try: conf.add_section('cwl') except configparser.DuplicateSectionError: pass conf.set("cwl", "tmp_folder", os.path.join(self.airflow_home, 'tmp')) conf.set("core", "logging_level", "INFO") conf.set("core", "load_examples", "False") conf.set("core", "dags_are_paused_at_creation", "False") conf.set("webserver", "dag_default_view", "graph") conf.set("webserver", "dag_orientation", "TB") conf.set("webserver", "hide_paused_dags_by_default", "True") conf.write(f)
Example #9
Source File: inventory.py From kubespray with Apache License 2.0 | 5 votes |
def ensure_required_groups(self, groups): for group in groups: try: self.debug("Adding group {0}".format(group)) self.config.add_section(group) except configparser.DuplicateSectionError: pass
Example #10
Source File: test_configparser.py From ironpython3 with Apache License 2.0 | 5 votes |
def test_duplicatesectionerror(self): import pickle e1 = configparser.DuplicateSectionError('section', 'source', 123) for proto in range(pickle.HIGHEST_PROTOCOL + 1): pickled = pickle.dumps(e1, proto) e2 = pickle.loads(pickled) self.assertEqual(e1.message, e2.message) self.assertEqual(e1.args, e2.args) self.assertEqual(e1.section, e2.section) self.assertEqual(e1.source, e2.source) self.assertEqual(e1.lineno, e2.lineno) self.assertEqual(repr(e1), repr(e2))
Example #11
Source File: test_configparser.py From ironpython3 with Apache License 2.0 | 5 votes |
def test_weird_errors(self): cf = self.newconfig() cf.add_section("Foo") with self.assertRaises(configparser.DuplicateSectionError) as cm: cf.add_section("Foo") e = cm.exception self.assertEqual(str(e), "Section 'Foo' already exists") self.assertEqual(e.args, ("Foo", None, None)) if self.strict: with self.assertRaises(configparser.DuplicateSectionError) as cm: cf.read_string(textwrap.dedent("""\ [Foo] will this be added{equals}True [Bar] what about this{equals}True [Foo] oops{equals}this won't """.format(equals=self.delimiters[0])), source='<foo-bar>') e = cm.exception self.assertEqual(str(e), "While reading from '<foo-bar>' " "[line 5]: section 'Foo' already exists") self.assertEqual(e.args, ("Foo", '<foo-bar>', 5)) with self.assertRaises(configparser.DuplicateOptionError) as cm: cf.read_dict({'Bar': {'opt': 'val', 'OPT': 'is really `opt`'}}) e = cm.exception self.assertEqual(str(e), "While reading from '<dict>': option " "'opt' in section 'Bar' already exists") self.assertEqual(e.args, ("Bar", "opt", "<dict>", None))
Example #12
Source File: fusesocconfigparser.py From fusesoc with BSD 2-Clause "Simplified" License | 5 votes |
def __init__(self, config_file): if sys.version[0] == "2": CP.__init__(self) else: super().__init__() if not os.path.exists(config_file): raise Exception("Could not find " + config_file) f = open(config_file) id_string = f.readline().split("=") if id_string[0].strip().upper() in ["CAPI", "SAPI"]: self.type = id_string[0] else: raise SyntaxError("Could not find API type in " + config_file) try: self.version = int(id_string[1].strip()) except ValueError: raise SyntaxError("Unknown version '{}'".format(id_string[1].strip())) except IndexError: raise SyntaxError("Could not find API version in " + config_file) if sys.version[0] == "2": exceptions = (configparser.ParsingError, configparser.DuplicateSectionError) else: exceptions = ( configparser.ParsingError, configparser.DuplicateSectionError, configparser.DuplicateOptionError, ) try: if sys.version[0] == "2": self.readfp(f) else: self.read_file(f) except configparser.MissingSectionHeaderError: raise SyntaxError("Missing section header") except exceptions as e: raise SyntaxError(e.message)
Example #13
Source File: test_configparser.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def test_weird_errors(self): cf = self.newconfig() cf.add_section("Foo") with self.assertRaises(configparser.DuplicateSectionError) as cm: cf.add_section("Foo") e = cm.exception self.assertEqual(str(e), "Section 'Foo' already exists") self.assertEqual(e.args, ("Foo", None, None)) if self.strict: with self.assertRaises(configparser.DuplicateSectionError) as cm: cf.read_string(textwrap.dedent("""\ [Foo] will this be added{equals}True [Bar] what about this{equals}True [Foo] oops{equals}this won't """.format(equals=self.delimiters[0])), source='<foo-bar>') e = cm.exception self.assertEqual(str(e), "While reading from '<foo-bar>' " "[line 5]: section 'Foo' already exists") self.assertEqual(e.args, ("Foo", '<foo-bar>', 5)) with self.assertRaises(configparser.DuplicateOptionError) as cm: cf.read_dict({'Bar': {'opt': 'val', 'OPT': 'is really `opt`'}}) e = cm.exception self.assertEqual(str(e), "While reading from '<dict>': option " "'opt' in section 'Bar' already exists") self.assertEqual(e.args, ("Bar", "opt", "<dict>", None))
Example #14
Source File: config.py From PKUAutoElective with MIT License | 5 votes |
def ns_sections(self, ns): ns = ns.strip() ns_sects = OrderedDict() # { id: str(section) } for s in self._config.sections(): mat = _reNamespacedSection.match(s) if mat is None: continue if mat.group('ns') != ns: continue id_ = mat.group('id') if id_ in ns_sects: raise DuplicateSectionError("%s:%s" % (ns, id_)) ns_sects[id_] = s return [ (id_, s) for id_, s in ns_sects.items() ] # [ (id, str(section)) ]
Example #15
Source File: inventory.py From streaming-integrator with Apache License 2.0 | 5 votes |
def ensure_required_groups(self, groups): for group in groups: try: self.debug("Adding group {0}".format(group)) self.config.add_section(group) except configparser.DuplicateSectionError: pass
Example #16
Source File: test_settings.py From ee-outliers with GNU General Public License v3.0 | 5 votes |
def test_error_on_duplicate_section_check(self): self.test_settings.change_configuration_path(test_whitelist_duplicate_section_file) result = settings.check_no_duplicate_key() self.assertIsInstance(result, DuplicateSectionError) # Test on process_configuration_files function
Example #17
Source File: test_analyzer.py From ee-outliers with GNU General Public License v3.0 | 5 votes |
def test_create_multi_with_malformed_duplicate_section_strict(self): self.test_settings.change_configuration_path("/app/tests/unit_tests/files/analyzer_test_01.conf") with self.assertRaises(configparser.DuplicateSectionError): AnalyzerFactory.create_multi("/app/tests/unit_tests/files/use_cases/analyzer/analyzer_multi_malformed_duplicate_section.conf")
Example #18
Source File: settings.py From ee-outliers with GNU General Public License v3.0 | 5 votes |
def check_no_duplicate_key(self): """ Method to check if some duplicates are present in the configuration :return: the error (that contain message with duplicate), None if no duplicate """ try: config = configparser.RawConfigParser(interpolation=None, strict=True) config.optionxform = str # preserve case sensitivity in config keys, important for derived field names config.read(self.args.config) except (configparser.DuplicateOptionError, configparser.DuplicateSectionError) as err: return err return None
Example #19
Source File: config.py From knack with MIT License | 5 votes |
def set_value(self, section, option, value): config = configparser.ConfigParser() config.read(self.config_path) try: config.add_section(section) except configparser.DuplicateSectionError: pass config.set(section, option, value) self.set(config)
Example #20
Source File: configfiles.py From qutebrowser with GNU General Public License v3.0 | 5 votes |
def __init__(self) -> None: super().__init__() self._filename = os.path.join(standarddir.data(), 'state') self.read(self._filename, encoding='utf-8') qt_version = qVersion() # We handle this here, so we can avoid setting qt_version_changed if # the config is brand new, but can still set it when qt_version wasn't # there before... if 'general' in self: old_qt_version = self['general'].get('qt_version', None) self.qt_version_changed = old_qt_version != qt_version else: self.qt_version_changed = False for sect in ['general', 'geometry', 'inspector']: try: self.add_section(sect) except configparser.DuplicateSectionError: pass deleted_keys = [ ('general', 'fooled'), ('general', 'backend-warning-shown'), ('geometry', 'inspector'), ] for sect, key in deleted_keys: self[sect].pop(key, None) self['general']['qt_version'] = qt_version self['general']['version'] = qutebrowser.__version__
Example #21
Source File: test_configparser.py From Fluid-Designer with GNU General Public License v3.0 | 4 votes |
def test_source_as_bytes(self): """Issue #18260.""" lines = textwrap.dedent(""" [badbad] [badbad]""").strip().split('\n') parser = configparser.ConfigParser() with self.assertRaises(configparser.DuplicateSectionError) as dse: parser.read_file(lines, source=b"badbad") self.assertEqual( str(dse.exception), "While reading from b'badbad' [line 2]: section 'badbad' " "already exists" ) lines = textwrap.dedent(""" [badbad] bad = bad bad = bad""").strip().split('\n') parser = configparser.ConfigParser() with self.assertRaises(configparser.DuplicateOptionError) as dse: parser.read_file(lines, source=b"badbad") self.assertEqual( str(dse.exception), "While reading from b'badbad' [line 3]: option 'bad' in section " "'badbad' already exists" ) lines = textwrap.dedent(""" [badbad] = bad""").strip().split('\n') parser = configparser.ConfigParser() with self.assertRaises(configparser.ParsingError) as dse: parser.read_file(lines, source=b"badbad") self.assertEqual( str(dse.exception), "Source contains parsing errors: b'badbad'\n\t[line 2]: '= bad'" ) lines = textwrap.dedent(""" [badbad bad = bad""").strip().split('\n') parser = configparser.ConfigParser() with self.assertRaises(configparser.MissingSectionHeaderError) as dse: parser.read_file(lines, source=b"badbad") self.assertEqual( str(dse.exception), "File contains no section headers.\nfile: b'badbad', line: 1\n" "'[badbad'" )
Example #22
Source File: test_configparser.py From ironpython3 with Apache License 2.0 | 4 votes |
def test_source_as_bytes(self): """Issue #18260.""" lines = textwrap.dedent(""" [badbad] [badbad]""").strip().split('\n') parser = configparser.ConfigParser() with self.assertRaises(configparser.DuplicateSectionError) as dse: parser.read_file(lines, source=b"badbad") self.assertEqual( str(dse.exception), "While reading from b'badbad' [line 2]: section 'badbad' " "already exists" ) lines = textwrap.dedent(""" [badbad] bad = bad bad = bad""").strip().split('\n') parser = configparser.ConfigParser() with self.assertRaises(configparser.DuplicateOptionError) as dse: parser.read_file(lines, source=b"badbad") self.assertEqual( str(dse.exception), "While reading from b'badbad' [line 3]: option 'bad' in section " "'badbad' already exists" ) lines = textwrap.dedent(""" [badbad] = bad""").strip().split('\n') parser = configparser.ConfigParser() with self.assertRaises(configparser.ParsingError) as dse: parser.read_file(lines, source=b"badbad") self.assertEqual( str(dse.exception), "Source contains parsing errors: b'badbad'\n\t[line 2]: '= bad'" ) lines = textwrap.dedent(""" [badbad bad = bad""").strip().split('\n') parser = configparser.ConfigParser() with self.assertRaises(configparser.MissingSectionHeaderError) as dse: parser.read_file(lines, source=b"badbad") self.assertEqual( str(dse.exception), "File contains no section headers.\nfile: b'badbad', line: 1\n" "'[badbad'" )
Example #23
Source File: test_configparser.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 4 votes |
def test_source_as_bytes(self): """Issue #18260.""" lines = textwrap.dedent(""" [badbad] [badbad]""").strip().split('\n') parser = configparser.ConfigParser() with self.assertRaises(configparser.DuplicateSectionError) as dse: parser.read_file(lines, source=b"badbad") self.assertEqual( str(dse.exception), "While reading from b'badbad' [line 2]: section 'badbad' " "already exists" ) lines = textwrap.dedent(""" [badbad] bad = bad bad = bad""").strip().split('\n') parser = configparser.ConfigParser() with self.assertRaises(configparser.DuplicateOptionError) as dse: parser.read_file(lines, source=b"badbad") self.assertEqual( str(dse.exception), "While reading from b'badbad' [line 3]: option 'bad' in section " "'badbad' already exists" ) lines = textwrap.dedent(""" [badbad] = bad""").strip().split('\n') parser = configparser.ConfigParser() with self.assertRaises(configparser.ParsingError) as dse: parser.read_file(lines, source=b"badbad") self.assertEqual( str(dse.exception), "Source contains parsing errors: b'badbad'\n\t[line 2]: '= bad'" ) lines = textwrap.dedent(""" [badbad bad = bad""").strip().split('\n') parser = configparser.ConfigParser() with self.assertRaises(configparser.MissingSectionHeaderError) as dse: parser.read_file(lines, source=b"badbad") self.assertEqual( str(dse.exception), "File contains no section headers.\nfile: b'badbad', line: 1\n" "'[badbad'" )