From 5c267e2d22e90e4dcdcaef842634371b122970da Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 17 Oct 2011 20:44:22 +0200 Subject: Close #12454: The mailbox module is now using ASCII, instead of the locale encoding, to read and write MH mailboxes (.mh_sequences files). --- Lib/mailbox.py | 7 ++----- Misc/NEWS | 3 +++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Lib/mailbox.py b/Lib/mailbox.py index e23ea8c..82d6571 100644 --- a/Lib/mailbox.py +++ b/Lib/mailbox.py @@ -1108,8 +1108,7 @@ class MH(Mailbox): def get_sequences(self): """Return a name-to-key-list dictionary to define each sequence.""" results = {} - f = open(os.path.join(self._path, '.mh_sequences'), 'r') - try: + with open(os.path.join(self._path, '.mh_sequences'), 'r', encoding='ASCII') as f: all_keys = set(self.keys()) for line in f: try: @@ -1128,13 +1127,11 @@ class MH(Mailbox): except ValueError: raise FormatError('Invalid sequence specification: %s' % line.rstrip()) - finally: - f.close() return results def set_sequences(self, sequences): """Set sequences using the given name-to-key-list dictionary.""" - f = open(os.path.join(self._path, '.mh_sequences'), 'r+') + f = open(os.path.join(self._path, '.mh_sequences'), 'r+', encoding='ASCII') try: os.close(os.open(f.name, os.O_WRONLY | os.O_TRUNC)) for name, keys in sequences.items(): diff --git a/Misc/NEWS b/Misc/NEWS index fd1e833..abe2e23 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -311,6 +311,9 @@ Core and Builtins Library ------- +- Issue #12454: The mailbox module is now using ASCII, instead of the locale + encoding, to read and write MH mailboxes (.mh_sequences files). + - Issue #13194: zlib.compressobj().copy() and zlib.decompressobj().copy() are now available on Windows. -- cgit v0.12