]> code.delx.au - offlineimap/blobdiff - offlineimap/ui/UIBase.py
UNDO: Synchronize newly created folders both ways
[offlineimap] / offlineimap / ui / UIBase.py
index 59ea78eba74036cb09087cf4f1d39e9ea24acec6..d0e92e6a07716933f6801144235284ba5b6c7a8c 100644 (file)
@@ -151,17 +151,17 @@ class UIBase:
 
     ################################################## WARNINGS
     def msgtoreadonly(s, destfolder, uid, content, flags):
-        if not (config.has_option('general', 'ignore-readonly') and config.getboolean("general", "ignore-readonly")):
+        if not (s.config.has_option('general', 'ignore-readonly') and s.config.getboolean("general", "ignore-readonly")):
             s.warn("Attempted to synchronize message %d to folder %s[%s], but that folder is read-only.  The message will not be copied to that folder." % \
                    (uid, s.getnicename(destfolder), destfolder.getname()))
 
     def flagstoreadonly(s, destfolder, uidlist, flags):
-        if not (config.has_option('general', 'ignore-readonly') and config.getboolean("general", "ignore-readonly")):
+        if not (s.config.has_option('general', 'ignore-readonly') and s.config.getboolean("general", "ignore-readonly")):
             s.warn("Attempted to modify flags for messages %s in folder %s[%s], but that folder is read-only.  No flags have been modified for that message." % \
                    (str(uidlist), s.getnicename(destfolder), destfolder.getname()))
 
     def deletereadonly(s, destfolder, uidlist):
-        if not (config.has_option('general', 'ignore-readonly') and config.getboolean("general", "ignore-readonly")):
+        if not (s.config.has_option('general', 'ignore-readonly') and s.config.getboolean("general", "ignore-readonly")):
             s.warn("Attempted to delete messages %s in folder %s[%s], but that folder is read-only.  No messages have been deleted in that folder." % \
                    (str(uidlist), s.getnicename(destfolder), destfolder.getname()))
 
@@ -208,9 +208,15 @@ class UIBase:
                                              s.getnicename(srcrepos),
                                              s.getnicename(destrepos)))
 
-    def validityproblem(s, folder, saved, new):
-        s.warn("UID validity problem for folder %s (saved %d; got %d); skipping it" % \
-               (folder.getname(), saved, new))
+    def skippingfolder(s, folder):
+        """Called when a folder sync operation is started."""
+        if s.verbose >= 0:
+            s._msg("Skipping %s (not changed)" % folder.getname())
+
+    def validityproblem(s, folder):
+        s.warn("UID validity problem for folder %s (repo %s) (saved %d; got %d); skipping it" % \
+               (folder.getname(), folder.getrepository().getname(),
+                folder.getsaveduidvalidity(), folder.getuidvalidity()))
 
     def loadmessagelist(s, repos, folder):
         if s.verbose > 0: