* [gentoo-commits] proj/portage:master commit in: pym/portage/util/, pym/portage/repository/, pym/portage/_sets/
@ 2016-05-24 6:28 Michał Górny
0 siblings, 0 replies; only message in thread
From: Michał Górny @ 2016-05-24 6:28 UTC (permalink / raw
To: gentoo-commits
commit: 7a8392286ce3c5b2d33abe2de98922997307c182
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun May 22 07:48:10 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue May 24 06:27:58 2016 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=7a839228
portage.util.configparser: Provide common code to handle cp imports
Provide a common code unit to handle portable *ConfigParser imports
for all supported Python versions.
Reviewed-by: Zac Medico <zmedico <AT> gentoo.org>
pym/portage/_sets/__init__.py | 10 ++--------
pym/portage/repository/config.py | 9 +--------
pym/portage/util/_desktop_entry.py | 7 ++-----
pym/portage/util/configparser.py | 22 ++++++++++++++++++++++
4 files changed, 27 insertions(+), 21 deletions(-)
diff --git a/pym/portage/_sets/__init__.py b/pym/portage/_sets/__init__.py
index 3203521..ec42f7c 100644
--- a/pym/portage/_sets/__init__.py
+++ b/pym/portage/_sets/__init__.py
@@ -9,14 +9,6 @@ __all__ = ["SETPREFIX", "get_boolean", "SetConfigError",
import io
import logging
import sys
-try:
- from configparser import NoOptionError, ParsingError
- if sys.hexversion >= 0x3020000:
- from configparser import ConfigParser as SafeConfigParser
- else:
- from configparser import SafeConfigParser
-except ImportError:
- from ConfigParser import SafeConfigParser, NoOptionError, ParsingError
import portage
from portage import os
from portage import load_mod
@@ -29,6 +21,8 @@ from portage.const import _ENABLE_SET_CONFIG
from portage.exception import PackageSetNotFound
from portage.localization import _
from portage.util import writemsg_level
+from portage.util.configparser import (SafeConfigParser,
+ NoOptionError, ParsingError)
SETPREFIX = "@"
diff --git a/pym/portage/repository/config.py b/pym/portage/repository/config.py
index 00319fe..9039886 100644
--- a/pym/portage/repository/config.py
+++ b/pym/portage/repository/config.py
@@ -9,14 +9,6 @@ import warnings
import sys
import re
-try:
- from configparser import Error as ConfigParserError
- if sys.hexversion >= 0x3020000:
- from configparser import ConfigParser as SafeConfigParser
- else:
- from configparser import SafeConfigParser
-except ImportError:
- from ConfigParser import SafeConfigParser, Error as ConfigParserError
import portage
from portage import eclass_cache, os
from portage.const import (MANIFEST2_HASH_FUNCTIONS, MANIFEST2_REQUIRED_HASH,
@@ -25,6 +17,7 @@ from portage.eapi import eapi_allows_directories_on_profile_level_and_repository
from portage.env.loaders import KeyValuePairFileLoader
from portage.util import (normalize_path, read_corresponding_eapi_file, shlex_split,
stack_lists, writemsg, writemsg_level, _recursive_file_list)
+from portage.util.configparser import SafeConfigParser, ConfigParserError
from portage.util._path import isdir_raise_eaccess
from portage.util.path import first_existing
from portage.localization import _
diff --git a/pym/portage/util/_desktop_entry.py b/pym/portage/util/_desktop_entry.py
index 0b49547..95a015e 100644
--- a/pym/portage/util/_desktop_entry.py
+++ b/pym/portage/util/_desktop_entry.py
@@ -6,14 +6,11 @@ import re
import subprocess
import sys
-try:
- from configparser import Error as ConfigParserError, RawConfigParser
-except ImportError:
- from ConfigParser import Error as ConfigParserError, RawConfigParser
-
import portage
from portage import _encodings, _unicode_encode, _unicode_decode
from portage.util import writemsg
+from portage.util.configparser import ConfigParserError, RawConfigParser
+
def parse_desktop_entry(path):
"""
diff --git a/pym/portage/util/configparser.py b/pym/portage/util/configparser.py
new file mode 100644
index 0000000..d305052
--- /dev/null
+++ b/pym/portage/util/configparser.py
@@ -0,0 +1,22 @@
+# Copyright 2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+__all__ = ['ConfigParserError', 'NoOptionError', 'ParsingError',
+ 'RawConfigParser', 'SafeConfigParser']
+
+# the following scary compatibility thing provides two classes:
+# - SafeConfigParser that provides safe interpolation for values,
+# - RawConfigParser that provides no interpolation for values.
+
+import sys
+
+try:
+ from configparser import (Error as ConfigParserError,
+ NoOptionError, ParsingError, RawConfigParser)
+ if sys.hexversion >= 0x3020000:
+ from configparser import ConfigParser as SafeConfigParser
+ else:
+ from configparser import SafeConfigParser
+except ImportError:
+ from ConfigParser import (Error as ConfigParserError,
+ NoOptionError, ParsingError, RawConfigParser, SafeConfigParser)
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2016-05-24 6:28 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-24 6:28 [gentoo-commits] proj/portage:master commit in: pym/portage/util/, pym/portage/repository/, pym/portage/_sets/ Michał Górny
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox