]> code.delx.au - offlineimap/commitdiff
/offlineimap/head: changeset 236
authorjgoerzen <jgoerzen>
Tue, 20 Aug 2002 20:54:02 +0000 (21:54 +0100)
committerjgoerzen <jgoerzen>
Tue, 20 Aug 2002 20:54:02 +0000 (21:54 +0100)
Now the containing repository is stored within a folder. This will be
necessary for moves.

offlineimap/head/debian/changelog
offlineimap/head/offlineimap/folder/Base.py
offlineimap/head/offlineimap/folder/IMAP.py
offlineimap/head/offlineimap/folder/LocalStatus.py
offlineimap/head/offlineimap/folder/Maildir.py
offlineimap/head/offlineimap/repository/IMAP.py
offlineimap/head/offlineimap/repository/LocalStatus.py
offlineimap/head/offlineimap/repository/Maildir.py

index 88f135a6035d9aa8a11718ed0bee5e42c9e65fef..83d26ede4e854ddd8a2b81bcb982b34e3ec7d57f 100644 (file)
@@ -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.
index 8c25aef66865d632bf5c7e9f3833175f43fdb422..6c1e5777f2461ff02b8305383b5f49564de441af 100644 (file)
@@ -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
index 5c35d67b658b8be49eee9df26d61303ba13dd390..c6604365789f7692e0f0467fb47b8ef4f5e60efa 100644 (file)
@@ -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
index acaa28a676ba60e0b7230ee584866fc0f3571b7a..4f479f9af1ac80b30f878e1d6471f2bf70501d22 100644 (file)
@@ -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
index 70d4df4c4ec487aa891d865e768e3767582bad29..29c0db10d487572743d27faab7a8230ecd72d890 100644 (file)
@@ -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())
index 6af815802ffe3cf3ad86860334b76d43ac95aada..9371d0dc2329998fbaeb36719671f912feb19062 100644 (file)
@@ -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
index 5a864d86342f0bfbed75fb8ec1676963aec55bf5..4d3caaad0149ffb07ae259e8aab3112f821fd976 100644 (file)
@@ -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)
 
 
     
index fa97b3c5f4c252e6c146bb6220644e876c41e1cd..af099bba1958aae9c8a720a0e96b8e3f82ba63f6 100644 (file)
@@ -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))