home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 October / maximum-cd-2011-10.iso / DiscContents / digsby_setup.exe / lib / plugins / digsby_email / smtp_sp.pyo (.txt) < prev   
Encoding:
Python Compiled Bytecode  |  2011-06-22  |  3.8 KB  |  121 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.6)
  3.  
  4. import logging
  5. log = logging.getLogger('smtp_sp')
  6. import cPickle
  7. import traceback
  8. import services.service_provider as SP
  9. import hooks
  10. import common
  11. import common.protocolmeta as protocolmeta
  12. import prefs
  13. import util
  14. import mail.smtp as smtp
  15.  
  16. def localprefs_key(name):
  17.     
  18.     def get(acct):
  19.         return '/'.join([
  20.             acct.provider_id,
  21.             acct.name,
  22.             name]).lower()
  23.  
  24.     return get
  25.  
  26.  
  27. class SMTPServiceProvider(SP.UsernamePasswordServiceProvider):
  28.     
  29.     def update_info(self, kwds):
  30.         if '_encrypted_smtppw' in kwds and '_encrypted_pw' in kwds:
  31.             kwds['password'] = self._encrypted_pw = e_pw = kwds['_encrypted_pw']
  32.             self._encrypted_smtppw = e_spw = kwds['_encrypted_smtppw']
  33.             kwds['smtp_password'] = common.profile.plain_pw(e_spw)
  34.         elif 'password' in kwds:
  35.             
  36.             try:
  37.                 (self._encrypted_pw, self._encrypted_smtppw) = smtp.SMTPEmailAccount._unglue_pw(kwds.get('password', ''))
  38.                 kwds['smtp_password'] = common.profile.plain_pw(self._encrypted_smtppw)
  39.                 kwds['password'] = self._encrypted_pw
  40.             except ValueError:
  41.                 if 'smtp_password' in kwds:
  42.                     self._encrypted_smtppw = common.profile.crypt_pw(kwds['smtp_password'])
  43.                 else:
  44.                     self._encrypted_smtppw = ''
  45.                 self._encrypted_pw = kwds['password']
  46.             except:
  47.                 None<EXCEPTION MATCH>ValueError
  48.             
  49.  
  50.         None<EXCEPTION MATCH>ValueError
  51.         self.smtp_require_ssl = kwds.get('smtp_require_ssl')
  52.         if 'email_address' in kwds:
  53.             self.email_address = kwds.get('email_address', self.name)
  54.         
  55.         if 'smtp_username' in kwds:
  56.             self.smtp_username = kwds.get('smtp_username', self.name)
  57.         
  58.         if kwds.get('smtp_server'):
  59.             self.smtp_server = kwds.get('smtp_server', '')
  60.         else:
  61.             log.debug('smtp_server not provided')
  62.             raise SP.AccountException()
  63.         if kwds.get('smtp_server') in kwds:
  64.             
  65.             try:
  66.                 kwds['smtp_port'] = int(kwds['smtp_port'])
  67.             except ValueError:
  68.                 log.error('port is not an int, it is %r', kwds['smtp_port'])
  69.                 raise SP.AccountException()
  70.             except:
  71.                 None<EXCEPTION MATCH>ValueError
  72.             
  73.  
  74.         None<EXCEPTION MATCH>ValueError
  75.         kwds['smtp_port'] = None[self.get_metainfo('email')[1].info.defaults if self.smtp_require_ssl else 'smtp_port']
  76.         self.smtp_port = kwds.get('smtp_port')
  77.         super(SMTPServiceProvider, self).update_info(kwds)
  78.         mailclient = kwds.get('mailclient', None)
  79.         if mailclient is None and not hasattr(self, 'mailclient'):
  80.             self.mailclient = 'sysdefault'
  81.         
  82.         custom_inbox_url = kwds.get('custom_inbox_url', None)
  83.         if custom_inbox_url is None and not hasattr(self, 'custom_inbox_url'):
  84.             self.custom_inbox_url = u''
  85.         
  86.         custom_compose_url = kwds.get('custom_compose_url', None)
  87.         if custom_compose_url is None and not hasattr(self, 'custom_compose_url'):
  88.             self.custom_compose_url = u''
  89.         
  90.  
  91.     
  92.     def _decryptedpw(self):
  93.         return common.profile.plain_pw(self._encrypted_pw)
  94.  
  95.     
  96.     def _decrypted_smtppw(self):
  97.         return common.profile.plain_pw(self._encrypted_smtppw)
  98.  
  99.     mailclient = prefs.localprefprop(localprefs_key('mailclient'), None)
  100.     custom_inbox_url = prefs.localprefprop(localprefs_key('custom_inbox_url'), None)
  101.     custom_compose_url = prefs.localprefprop(localprefs_key('custom_compose_url'), None)
  102.     
  103.     def get_options(self, ctype = 'email'):
  104.         options = super(SMTPServiceProvider, self).get_options(ctype)
  105.         options['email_address'] = self.email_address
  106.         options['smtp_username'] = getattr(self, 'smtp_username', self.name)
  107.         options['smtp_server'] = self.smtp_server
  108.         options['smtp_port'] = self.smtp_port
  109.         options['smtp_require_ssl'] = self.smtp_require_ssl
  110.         options['mailclient'] = self.mailclient
  111.         options['custom_inbox_url'] = self.custom_inbox_url
  112.         options['custom_compose_url'] = self.custom_compose_url
  113.         return options
  114.  
  115.     
  116.     def display_name(self):
  117.         return self.email_address
  118.  
  119.     display_name = property(display_name)
  120.  
  121.