Remove convoluted assert statements

The working horse of the savemessage() function, imaplib.append() was
hidden away in an assert statement. Pull the real functions out of the
asserts and simply assert on the return values. This looks less
convoluted and makes this easier to understand in my opinion.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
This commit is contained in:
Sebastian Spaeth 2011-03-04 17:34:22 +01:00 committed by Nicolas Sebrecht
parent d22c762385
commit 96db608e4d

View File

@ -252,6 +252,7 @@ class IMAPFolder(BaseFolder):
headervalue += str(self.randomgenerator.randint(0,9999999999))
return (headername, headervalue)
def savemessage_addheader(self, content, headername, headervalue):
self.ui.debug('imap',
'savemessage_addheader: called to add %s: %s' % (headername,
@ -271,6 +272,7 @@ class IMAPFolder(BaseFolder):
self.ui.debug('imap', 'savemessage_addheader: trailer = ' + repr(trailer))
return leader + newline + trailer
def savemessage_searchforheader(self, imapobj, headername, headervalue):
if imapobj.untagged_responses.has_key('APPENDUID'):
return long(imapobj.untagged_responses['APPENDUID'][-1].split(' ')[1])
@ -417,12 +419,16 @@ class IMAPFolder(BaseFolder):
self.ui.debug('imap', 'savemessage: new content length is ' + \
str(len(content)))
assert(imapobj.append(self.getfullname(),
# TODO: append could raise a ValueError if the date is not in
# valid format...?
(typ,dat) = imapobj.append(self.getfullname(),
imaputil.flagsmaildir2imap(flags),
date, content)[0] == 'OK')
date, content)
assert(typ == 'OK')
# Checkpoint. Let it write out the messages, etc.
assert(imapobj.check()[0] == 'OK')
(typ,dat) = imapobj.check()
assert(typ == 'OK')
# Keep trying until we get the UID.
self.ui.debug('imap', 'savemessage: first attempt to get new UID')