diff options
Diffstat (limited to 'Lib/mhlib.py')
-rw-r--r-- | Lib/mhlib.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/Lib/mhlib.py b/Lib/mhlib.py index b24695c..5bdda72 100644 --- a/Lib/mhlib.py +++ b/Lib/mhlib.py @@ -36,6 +36,7 @@ # f.putsequences(dict) # write sequences back to folder # # m = f.openmessage(n) # new open message object (costs a file descriptor) +# m is a derived class of mimetools.Message(rfc822.Message), with: # s = m.getheadertext() # text of message's headers # s = m.getheadertext(pred) # text of message's headers, filtered by pred # s = m.getbodytext() # text of message's body, decoded @@ -299,11 +300,19 @@ class Folder: # Write the set of sequences back to the folder def putsequences(self, sequences): fullname = self.getsequencesfilename() - f = open(fullname, 'w') + f = None for key in sequences.keys(): s = IntSet('', ' ') s.fromlist(sequences[key]) + if not f: f = open(fullname, 'w') f.write('%s: %s\n' % (key, s.tostring())) + if not f: + try: + os.unlink(fullname) + except os.error: + pass + else: + f.close() # Return the current message. Raise KeyError when there is none def getcurrent(self): @@ -313,7 +322,7 @@ class Folder: def setcurrent(self, n): updateline(self.getsequencesfilename(), 'cur', str(n), 0) - # Open a message -- returns a mimetools.Message object + # Open a message -- returns a Message object def openmessage(self, n): path = self.getmessagefilename(n) return Message(self, n) |