Kaydet (Commit) 44d8bb08 authored tarafından Raymond Hettinger's avatar Raymond Hettinger

collections.Mapping is not available for setup.py. Remove the dependency the…

collections.Mapping is not available for setup.py.  Remove the dependency the old-fashioned way (copy and paste).
üst 3bae626f
......@@ -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):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment