Package: archivemail
Version: 0.7.0-1
Followup-For: Bug #368112

Hi,
here is another patch, that tries to use whatever folder separator
works.


-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (990, 'stable'), (500, 'unstable'), (500, 'testing')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-4-686
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)

Versions of packages archivemail depends on:
ii  python                        2.4.4-2    An interactive high-level object-o

archivemail recommends no packages.

-- no debconf information

-- 
Wenn der Alltag dir arm erscheint, klage ihn nicht an - klage dich 
an, daß du nicht stark genug bist, seine Reichtümer zu rufen, denn für
den Schaffenden gibt es keine Armut.
                -- Rainer Maria Rilke
--- /home/chrisbra/bin/archivemail.orig	2007-11-06 12:08:32.000000000 +0100
+++ /home/chrisbra/bin/archivemail	2007-11-06 12:27:52.000000000 +0100
@@ -1434,9 +1434,23 @@
         result, response = imap_srv.login(imap_username, imap_password)
     vprint("logged in to server as %s" % imap_username)
 
+    # imap folder separator detection
     result, response = imap_srv.select(imap_folder)
-    if result != 'OK': unexpected_error("cannot select imap folder; "
-        "server says '%s'" % response[0])
+    if result != 'OK': 
+	if string.find(imap_folder,'/') != -1:
+	    vprint("Hmm, '%s' does not work. Maybe we need to use a different folder separator? Let's see" %imap_folder)
+	    vprint("Trying '.' as folder separator")
+	    imap_folder=string.replace(imap_folder, '/', '.')
+	elif string.find(imap_folder,'.') != -1:
+	    vprint("Hmm, '%s' does not work. Maybe we need to use a different folder separator? Let's see" %imap_folder)
+	    vprint("Trying '/' as folder separator")
+	    imap_folder=string.replace(imap_folder, '.', '/')
+	else:
+	    unexpected_error("The selected folder '%s' does not exist" % imap_folder)
+	result, response = imap_srv.select(imap_folder)
+	if result != 'OK': 
+	    unexpected_error("Well, changing the folder separator to '%s' didn't work either." % imap_folder)
+
     vprint("selected imap folder %s" % imap_folder)
     # response is e.g. ['1016'] for 1016 messages in folder
     total_msg_count = int(response[0])

Reply via email to