/offlineimap/head: changeset 236
Now the containing repository is stored within a folder. This will be necessary for moves.
This commit is contained in:
parent
e1657f962e
commit
cbcf797944
@ -1,3 +1,9 @@
|
||||
offlineimap (3.3.0) unstable; urgency=low
|
||||
|
||||
* Placeholder
|
||||
|
||||
-- John Goerzen <jgoerzen@complete.org> Tue, 20 Aug 2002 10:46:56 -0500
|
||||
|
||||
offlineimap (3.2.6) unstable; urgency=low
|
||||
|
||||
* Changed indentation in debian/control. Closes: #156327.
|
||||
|
@ -50,6 +50,10 @@ class BaseFolder:
|
||||
def getvisiblename(self):
|
||||
return self.name
|
||||
|
||||
def getrepository(self):
|
||||
"""Returns the repository object that this folder is within."""
|
||||
return self.repository
|
||||
|
||||
def getroot(self):
|
||||
"""Returns the root of the folder, in a folder-specific fashion."""
|
||||
return self.root
|
||||
|
@ -25,7 +25,7 @@ from copy import copy
|
||||
import __main__
|
||||
|
||||
class IMAPFolder(BaseFolder):
|
||||
def __init__(self, imapserver, name, visiblename, accountname):
|
||||
def __init__(self, imapserver, name, visiblename, accountname, repository):
|
||||
self.name = imaputil.dequote(name)
|
||||
self.root = None # imapserver.root
|
||||
self.sep = imapserver.delim
|
||||
@ -33,6 +33,7 @@ class IMAPFolder(BaseFolder):
|
||||
self.messagelist = None
|
||||
self.visiblename = visiblename
|
||||
self.accountname = accountname
|
||||
self.repository = repository
|
||||
|
||||
def suggeststhreads(self):
|
||||
return 1
|
||||
|
@ -22,12 +22,13 @@ import os
|
||||
magicline = "OFFLINEIMAP LocalStatus CACHE DATA - DO NOT MODIFY - FORMAT 1"
|
||||
|
||||
class LocalStatusFolder(BaseFolder):
|
||||
def __init__(self, root, name):
|
||||
def __init__(self, root, name, repository):
|
||||
self.name = name
|
||||
self.root = root
|
||||
self.sep = '.'
|
||||
self.filename = os.path.join(root, name)
|
||||
self.messagelist = None
|
||||
self.repository = repository
|
||||
|
||||
def storesmessages(self):
|
||||
return 0
|
||||
|
@ -39,12 +39,13 @@ def gettimeseq():
|
||||
return timeseq
|
||||
|
||||
class MaildirFolder(BaseFolder):
|
||||
def __init__(self, root, name, sep):
|
||||
def __init__(self, root, name, sep, repository):
|
||||
self.name = name
|
||||
self.root = root
|
||||
self.sep = sep
|
||||
self.uidfilename = os.path.join(self.getfullname(), "offlineimap.uidvalidity")
|
||||
self.messagelist = None
|
||||
self.repository = repository
|
||||
|
||||
def getfullname(self):
|
||||
return os.path.join(self.getroot(), self.getname())
|
||||
|
@ -48,7 +48,7 @@ class IMAPRepository(BaseRepository):
|
||||
def getfolder(self, foldername):
|
||||
return folder.IMAP.IMAPFolder(self.imapserver, foldername,
|
||||
self.nametrans(foldername),
|
||||
accountname)
|
||||
accountname, self)
|
||||
|
||||
def getfolders(self):
|
||||
if self.folders != None:
|
||||
@ -69,11 +69,11 @@ class IMAPRepository(BaseRepository):
|
||||
continue
|
||||
retval.append(folder.IMAP.IMAPFolder(self.imapserver, foldername,
|
||||
self.nametrans(foldername),
|
||||
self.accountname))
|
||||
self.accountname, self))
|
||||
for foldername in self.folderincludes:
|
||||
retval.append(folder.IMAP.IMAPFolder(self.imapserver, foldername,
|
||||
self.nametrans(foldername),
|
||||
self.accountname))
|
||||
self.accountname, self))
|
||||
retval.sort(lambda x, y: self.foldersort(x.getvisiblename(), y.getvisiblename()))
|
||||
self.folders = retval
|
||||
return retval
|
||||
|
@ -42,11 +42,12 @@ class LocalStatusRepository(BaseRepository):
|
||||
retval = []
|
||||
for folder in os.listdir(self.directory):
|
||||
retval.append(folder.LocalStatus.LocalStatusFolder(self.directory,
|
||||
folder))
|
||||
folder, self))
|
||||
return retval
|
||||
|
||||
def getfolder(self, foldername):
|
||||
return folder.LocalStatus.LocalStatusFolder(self.directory, foldername)
|
||||
return folder.LocalStatus.LocalStatusFolder(self.directory, foldername,
|
||||
self)
|
||||
|
||||
|
||||
|
||||
|
@ -87,7 +87,7 @@ class MaildirRepository(BaseRepository):
|
||||
|
||||
def getfolder(self, foldername):
|
||||
return folder.Maildir.MaildirFolder(self.root, foldername,
|
||||
self.getsep())
|
||||
self.getsep(), self)
|
||||
|
||||
def _getfolders_scandir(self, root, extension = None):
|
||||
self.debug("_GETFOLDERS_SCANDIR STARTING. root = %s, extension = %s" \
|
||||
@ -131,7 +131,7 @@ class MaildirRepository(BaseRepository):
|
||||
self.debug(" foldername = %s" % foldername)
|
||||
|
||||
retval.append(folder.Maildir.MaildirFolder(self.root, foldername,
|
||||
self.getsep()))
|
||||
self.getsep(), self))
|
||||
if self.getsep() == '/':
|
||||
# Check sub-directories for folders.
|
||||
retval.extend(self._getfolders_scandir(root, foldername))
|
||||
|
Loading…
Reference in New Issue
Block a user