home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2012 January / maximum-cd-2012-01.iso / DiscContents / digsby_setup.exe / lib / msn / MSNBuddies.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2011-10-05  |  1.9 KB  |  58 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.6)
  3.  
  4. from MSNBuddy import MSNBuddy
  5. from util.observe import ObservableDict
  6. from common.sms import *
  7. import util
  8. import util.primitives.funcs as funcs
  9. from logging import getLogger
  10. log = getLogger('msn.buddiesdict')
  11.  
  12. class MSNBuddies(ObservableDict):
  13.     
  14.     def __init__(self, protocol):
  15.         ObservableDict.__init__(self)
  16.         self.protocol = protocol
  17.  
  18.     
  19.     def __getitem__(self, buddy):
  20.         if not buddy:
  21.             raise NameError
  22.         buddy
  23.         if util.is_email(buddy) and self in (self.protocol.buddies, self.protocol.f_buddies):
  24.             
  25.             try:
  26.                 return dict.__getitem__(self, buddy)
  27.             except KeyError:
  28.                 return self.setdefault(str(buddy), MSNBuddy(name = buddy, msn = self.protocol))
  29.             
  30.  
  31.         None<EXCEPTION MATCH>KeyError
  32.         is_sms = validate_sms(buddy)
  33.         is_int = funcs.isint(buddy)
  34.         if (is_sms or is_int) and self is self.protocol.m_buddies:
  35.             
  36.             try:
  37.                 return dict.__getitem__(self, buddy)
  38.             except KeyError:
  39.                 return dict.setdefault(self, str(buddy), MSNBuddy(name = buddy, msn = self.protocol))
  40.             
  41.  
  42.         None<EXCEPTION MATCH>KeyError
  43.         if self is self.protocol.f_buddies:
  44.             return dict.setdefault(self, buddy, MSNBuddy(name = buddy, msn = self.protocol))
  45.         return self.protocol.f_buddies[buddy]
  46.         log.critical('Unknown buddy was requested: %r, %r', type(buddy), buddy)
  47.         raise KeyError(buddy)
  48.  
  49.     
  50.     def __delitem__(self, buddy):
  51.         return dict.__delitem__(self, str(buddy))
  52.  
  53.     
  54.     def __contains__(self, buddy):
  55.         return dict.__contains__(self, str(buddy))
  56.  
  57.  
  58.