Example #1
0
 def __getitem__(self, name):
     p = self.__keys__.pos(Obj.classOfInstance(name))
     if p < len(self.__keys__):
         for key in self.__keys__[p:]:
             if Obj.isInstance(name, key):
                 return super(SubTypeMap, self).__getitem__(key)
     raise AttributeError(name)
Example #2
0
 def __getitem__(self, name):
     try:
         return super(DescMap, self).__getitem__(name)
     except AttributeError:
         pass
     except KeyError:
         pass
     if type(name) == types.InstanceType:
         try:
             return super(DescMap, self).__getitem__(Obj.classOfInstance(name))
         except AttributeError:
             pass
         except KeyError:
             pass
     try:
         return super(DescMap, self).__getitem__(type(name))
     except AttributeError:
         pass
     except KeyError:
         pass
     raise KeyError(name, self)