mirror of
https://github.com/python/cpython.git
synced 2024-11-24 18:34:43 +08:00
collections.Mapping is not available for setup.py. Remove the dependency the old-fashioned way (copy and paste).
This commit is contained in:
parent
3bae626fd2
commit
44d8bb0891
@ -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):
|
||||
|
Loading…
Reference in New Issue
Block a user