home *** CD-ROM | disk | FTP | other *** search
/ com!online 2005 April / com_0405_1.iso / opensource / BTpp-0.5.4-bin.exe / $INSTDIR / BT++.exe / UserDict.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2003-04-19  |  4.5 KB  |  130 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.2)
  3.  
  4.  
  5. class UserDict:
  6.     
  7.     def __init__(self, dict = None):
  8.         self.data = { }
  9.         if dict is not None:
  10.             self.update(dict)
  11.         
  12.  
  13.     
  14.     def __repr__(self):
  15.         return repr(self.data)
  16.  
  17.     
  18.     def __cmp__(self, dict):
  19.         if isinstance(dict, UserDict):
  20.             return cmp(self.data, dict.data)
  21.         else:
  22.             return cmp(self.data, dict)
  23.  
  24.     
  25.     def __len__(self):
  26.         return len(self.data)
  27.  
  28.     
  29.     def __getitem__(self, key):
  30.         return self.data[key]
  31.  
  32.     
  33.     def __setitem__(self, key, item):
  34.         self.data[key] = item
  35.  
  36.     
  37.     def __delitem__(self, key):
  38.         del self.data[key]
  39.  
  40.     
  41.     def clear(self):
  42.         self.data.clear()
  43.  
  44.     
  45.     def copy(self):
  46.         if self.__class__ is UserDict:
  47.             return UserDict(self.data)
  48.         
  49.         import copy
  50.         data = self.data
  51.         
  52.         try:
  53.             self.data = { }
  54.             c = copy.copy(self)
  55.         finally:
  56.             self.data = data
  57.  
  58.         c.update(self)
  59.         return c
  60.  
  61.     
  62.     def keys(self):
  63.         return self.data.keys()
  64.  
  65.     
  66.     def items(self):
  67.         return self.data.items()
  68.  
  69.     
  70.     def iteritems(self):
  71.         return self.data.iteritems()
  72.  
  73.     
  74.     def iterkeys(self):
  75.         return self.data.iterkeys()
  76.  
  77.     
  78.     def itervalues(self):
  79.         return self.data.itervalues()
  80.  
  81.     
  82.     def values(self):
  83.         return self.data.values()
  84.  
  85.     
  86.     def has_key(self, key):
  87.         return self.data.has_key(key)
  88.  
  89.     
  90.     def update(self, dict):
  91.         if isinstance(dict, UserDict):
  92.             self.data.update(dict.data)
  93.         elif isinstance(dict, type(self.data)):
  94.             self.data.update(dict)
  95.         else:
  96.             for k, v in dict.items():
  97.                 self[k] = v
  98.             
  99.  
  100.     
  101.     def get(self, key, failobj = None):
  102.         if not self.has_key(key):
  103.             return failobj
  104.         
  105.         return self[key]
  106.  
  107.     
  108.     def setdefault(self, key, failobj = None):
  109.         if not self.has_key(key):
  110.             self[key] = failobj
  111.         
  112.         return self[key]
  113.  
  114.     
  115.     def popitem(self):
  116.         return self.data.popitem()
  117.  
  118.     
  119.     def __contains__(self, key):
  120.         return key in self.data
  121.  
  122.  
  123.  
  124. class IterableUserDict(UserDict):
  125.     
  126.     def __iter__(self):
  127.         return iter(self.data)
  128.  
  129.  
  130.