# Base repository support
-# Copyright (C) 2002, 2003, 2006 John Goerzen
+# Copyright (C) 2002-2007 John Goerzen
# <jgoerzen@complete.org>
#
# This program is free software; you can redistribute it and/or modify
import os.path
def LoadRepository(name, account, reqtype):
+ from offlineimap.repository.Gmail import GmailRepository
from offlineimap.repository.IMAP import IMAPRepository, MappedIMAPRepository
from offlineimap.repository.Maildir import MaildirRepository
if reqtype == 'remote':
# For now, we don't support Maildirs on the remote side.
- typemap = {'IMAP': IMAPRepository}
+ typemap = {'IMAP': IMAPRepository,
+ 'Gmail': GmailRepository}
elif reqtype == 'local':
typemap = {'IMAP': MappedIMAPRepository,
'Maildir': MaildirRepository}
return self.restore_folder_atimes()
+ def connect(self):
+ """Establish a connection to the remote, if necessary. This exists
+ so that IMAP connections can all be established up front, gathering
+ passwords as needed. It was added in order to support the
+ error recovery -- we need to connect first outside of the error
+ trap in order to validate the password, and that's the point of
+ this function."""
+ pass
+
def holdordropconnections(self):
pass
"""Returns a list of ALL folders on this server."""
return []
+ def forgetfolders(self):
+ """Forgets the cached list of folders, if any. Useful to run
+ after a sync run."""
+ pass
+
def getsep(self):
raise NotImplementedError