diff options
author | Raymond Hettinger <python@rcn.com> | 2011-02-02 22:17:34 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2011-02-02 22:17:34 (GMT) |
commit | 44d8bb08911d304022e77ca5febfff15bdc86b34 (patch) | |
tree | 029dde8ee20f1fc3d41a9a2cecea38d0a4a1bc87 | |
parent | 3bae626fd2e783e9d8fa8bed62b7f66bc3b7d6b7 (diff) | |
download | cpython-44d8bb08911d304022e77ca5febfff15bdc86b34.zip cpython-44d8bb08911d304022e77ca5febfff15bdc86b34.tar.gz cpython-44d8bb08911d304022e77ca5febfff15bdc86b34.tar.bz2 |
collections.Mapping is not available for setup.py. Remove the dependency the old-fashioned way (copy and paste).
-rw-r--r-- | Lib/configparser.py | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/Lib/configparser.py b/Lib/configparser.py index edd3ac3..c7ae270 100644 --- a/Lib/configparser.py +++ b/Lib/configparser.py @@ -88,7 +88,7 @@ ConfigParser -- responsible for parsing a list of """ try: - from collections import Mapping, OrderedDict as _default_dict + from collections import OrderedDict as _default_dict except ImportError: # fallback for setup.py which hasn't yet built _collections _default_dict = dict @@ -515,7 +515,7 @@ class RawConfigParser: if e: raise e -class _Chainmap(Mapping): +class _Chainmap: """Combine multiple mappings for successive lookups. For example, to emulate Python's normal lookup sequence: @@ -548,6 +548,36 @@ class _Chainmap(Mapping): s.update(*self.maps) return len(s) + def get(self, key, default=None): + try: + return self[key] + except KeyError: + return default + + def __contains__(self, key): + try: + self[key] + except KeyError: + return False + else: + return True + + def keys(self): + return list(self) + + def items(self): + return [(k, self[k]) for k in self] + + def values(self): + return [self[k] for k in self] + + def __eq__(self, other): + return dict(self.items()) == dict(other.items()) + + def __ne__(self, other): + return not (self == other) + + class ConfigParser(RawConfigParser): def get(self, section, option, raw=False, vars=None): |