docker-offlineimap/offlineimap
Sebastian Spaeth 1754bf4110 Allow to create the root MailDir directory
We currently do not allow nametrans rules such as
nametrans = lambda foldername: re.sub('^INBOX$', '', foldername)

because we crash with a traceback when running:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=499755

The underlying reason is that we cannot create the "top level" root
directory of the Maildir in the function makefolders(), it will bail
out. John Goerzen intentionally prevented offlineimap from creating the
top-level dir, so that a misconfiguration could not arbitrarily create
folders on the file system. I believe that it should be perfectly
possible to automatically create the root dirctory of the maildir. We
still protect against folder creations at arbitrary places in the file
system though.

This patch cleans up makefolders(), adds documentation, allows to
automatically create rootfolders if needed (using absolute paths) and
adds some robustness in case the folders already exist that we want to
create (rather than simply crapping out).

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2011-06-08 17:15:31 +02:00
..
folder refactoring: simplify the semaphorewait logic 2011-05-12 18:30:39 +02:00
repository Allow to create the root MailDir directory 2011-06-08 17:15:31 +02:00
ui threadutil: explicitly import get_ident from thread 2011-05-12 18:28:49 +02:00
__init__.py v6.3.4-rc1 2011-05-16 18:54:22 +02:00
accounts.py cleanup: remove uneeded imports 2011-05-09 22:42:15 +02:00
CustomConfig.py Improve CustomConfig documentation 2011-01-20 19:46:01 +01:00
error.py Add OfflineImapError class 2011-05-05 20:00:07 +02:00
imaplib2.py imaplib2: Bump from 2.20 to 2.22 2011-04-11 19:10:45 +02:00
imaplibutil.py improve message "error 111" if connection failed 2011-05-25 20:32:41 +02:00
imapserver.py Throw errors on connection refused and on non-standard SSL ports 2011-06-06 21:33:16 +02:00
imaputil.py cleanup import statements and conform to PEP-8 2011-03-14 21:35:33 +01:00
init.py fix: allow debugtype 'thread' from command line 2011-05-16 18:18:21 +02:00
localeval.py Update FSF address 2006-08-12 05:15:55 +01:00
mbnames.py explicitly define symbols to import instead of 'import *' 2011-05-09 22:43:03 +02:00
syncmaster.py Remove weird SigListener class 2011-05-08 14:25:16 +02:00
threadutil.py fix broken ui Blinkenlights in multi-threaded mode 2011-05-18 18:38:05 +02:00