Index: Lib/mailbox.py =================================================================== --- Lib/mailbox.py (révision 66895) +++ Lib/mailbox.py (copie de travail) @@ -911,7 +911,7 @@ _unlock_file(f) finally: f.close() - for name, key_list in self.get_sequences(): + for name, key_list in self.get_sequences().iteritems(): if key in key_list: msg.add_sequence(name) return msg @@ -1024,6 +1024,9 @@ try: all_keys = set(self.keys()) for line in f: + line = line.rstrip() + if not line: + break try: name, contents = line.split(':') keys = set() @@ -1092,7 +1095,7 @@ self._next_key = prev + 1 if len(changes) == 0: return - for name, key_list in sequences.items(): + for key_list in sequences.itervalues(): for old, new in changes: if old in key_list: key_list[key_list.index(old)] = new Index: Lib/test/test_mailbox.py =================================================================== --- Lib/test/test_mailbox.py (révision 66895) +++ Lib/test/test_mailbox.py (copie de travail) @@ -897,6 +897,17 @@ self.assert_(new_folder._factory is self._box._factory) self.assert_(folder0._factory is self._box._factory) + def test_get_message_with_sequences(self): + # Get a message that includes a list of sequence names + msg0 = mailbox.MHMessage(self._template % 0) + msg0.add_sequence('foo') + key0 = self._box.add(msg0) + msg = self._box.get_message(key0) + self.assert_(len(msg.get_sequences()) == 1) + self.assert_(msg.get_sequences()[0] == 'foo') + self.assert_(msg['from'] == 'foo') + self.assert_(msg.get_payload() == '0') + def test_add_and_remove_folders(self): # Delete folders self._box.add_folder('one')