home *** CD-ROM | disk | FTP | other *** search
/ Netrunner 2004 October / NETRUNNER0410.ISO / regular / iria107a.lzh / script / UserDict.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2000-11-17  |  3.6 KB  |  92 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.0)
  3.  
  4. '''A more or less complete user-defined wrapper around dictionary objects.'''
  5.  
  6. class UserDict:
  7.     
  8.     def __init__(self, dict = None):
  9.         self.data = { }
  10.         if dict is not None:
  11.             self.update(dict)
  12.         
  13.  
  14.     
  15.     def __repr__(self):
  16.         return repr(self.data)
  17.  
  18.     
  19.     def __cmp__(self, dict):
  20.         if isinstance(dict, UserDict):
  21.             return cmp(self.data, dict.data)
  22.         else:
  23.             return cmp(self.data, dict)
  24.  
  25.     
  26.     def __len__(self):
  27.         return len(self.data)
  28.  
  29.     
  30.     def __getitem__(self, key):
  31.         return self.data[key]
  32.  
  33.     
  34.     def __setitem__(self, key, item):
  35.         self.data[key] = item
  36.  
  37.     
  38.     def __delitem__(self, key):
  39.         del self.data[key]
  40.  
  41.     
  42.     def clear(self):
  43.         self.data.clear()
  44.  
  45.     
  46.     def copy(self):
  47.         if self.__class__ is UserDict:
  48.             return UserDict(self.data)
  49.         
  50.         import copy
  51.         return copy.copy(self)
  52.  
  53.     
  54.     def keys(self):
  55.         return self.data.keys()
  56.  
  57.     
  58.     def items(self):
  59.         return self.data.items()
  60.  
  61.     
  62.     def values(self):
  63.         return self.data.values()
  64.  
  65.     
  66.     def has_key(self, key):
  67.         return self.data.has_key(key)
  68.  
  69.     
  70.     def update(self, dict):
  71.         if isinstance(dict, UserDict):
  72.             self.data.update(dict.data)
  73.         elif isinstance(dict, type(self.data)):
  74.             self.data.update(dict)
  75.         else:
  76.             for k, v in dict.items():
  77.                 self.data[k] = v
  78.             
  79.  
  80.     
  81.     def get(self, key, failobj = None):
  82.         return self.data.get(key, failobj)
  83.  
  84.     
  85.     def setdefault(self, key, failobj = None):
  86.         if not self.data.has_key(key):
  87.             self.data[key] = failobj
  88.         
  89.         return self.data[key]
  90.  
  91.  
  92.