427
427
if x.name == placement:
432
class AlternateKeyDict(dict):
433
def __getitem__(self, key):
435
val = super(AlternateKeyDict, self).__getitem__(key)
436
if isinstance(val, dict):
437
return self.__class__(val)
440
if key not in self.alternates:
443
for alt in self.alternates[key]:
448
def get(self, key, default=None):
450
return self.__getitem__(key)
455
for val in super(AlternateKeyDict, self).values():
456
if isinstance(val, dict):
457
yield self.__class__(val)
462
for key, val in super(AlternateKeyDict, self).items():
463
if isinstance(val, dict):
464
yield key, self.__class__(val)