def __init__(self, host, username, password, debug=False): """ Server class __init__ which expects an IMAP host to connect to @param host: gmail's default server is fine: imap.gmail.com @param username: your gmail account (i.e. [email protected]) @param password: we highly recommend you to use 2-factor auth here """ if not host: raise Exception('Missing IMAP host parameter in your config') try: self._server = IMAPClient(host, use_uid=True, ssl=True) except: raise Exception('Could not successfully connect to the IMAP host') setattr(self._server, 'debug', debug) # mails index to avoid unnecessary redownloading index = '.index_%s' % (username) index = os.path.join(_app_folder(), index) self._index = shelve.open(index, writeback=True) # list of attachments hashes to avoid dupes hashes = '.hashes_%s' % (username) hashes = os.path.join(_app_folder(), hashes) self._hashes = shelve.open(hashes, writeback=True) self._username = username self._login(username, password)
def __init__(self): self._file = os.path.join(_app_folder(), 'config') if not os.path.isfile(self._file): self._create_file() self._config = ConfigParser.ConfigParser() self._config.read(self._file)
def __init__(self): self._file = os.path.join(_app_folder(), 'config') self._config = ConfigParser.ConfigParser() self._config.read(self._file) if not self._config.has_option(SECTION, 'username'): self._setup() username = self._config.get(SECTION, 'username') password = keyring.get_password(SECTION, username) self._config.set(SECTION, 'password', password)