def update(self, dict=None, **kwargs):
if dict:
try:
- items = dict.items()
+ keys = dict.keys()
except AttributeError:
# List of (key, value)
- items = dict
- for k, v in items:
- self[k] = v
+ for k, v in dict:
+ self[k] = v
+ else:
+ # got keys
+ # cannot use items(), since mappings
+ # may not have them.
+ for k in keys:
+ self[k] = dict[k]
if kwargs:
self.update(kwargs)
def copy(self):
def update(self, dict=None, **kwargs):
if dict:
try:
- items = dict.items()
+ keys = dict.keys()
except AttributeError:
# List of (key, value)
- items = dict
- for k, v in items:
- self[k] = v
+ for k, v in dict:
+ self[k] = v
+ else:
+ # got keys
+ # cannot use items(), since mappings
+ # may not have them.
+ for k in keys:
+ self[k] = dict[k]
if kwargs:
self.update(kwargs)
try:
os.environ.update(self.__save)
# Bug 1110478
- def test_update(self):
+ def test_update2(self):
if os.path.exists("/bin/sh"):
os.environ.update(HELLO="World")
value = os.popen("/bin/sh -c 'echo $HELLO'").read().strip()