--- /usr/lib/python3.2/mailbox.py 2013-02-20 08:56:36.000000000 -0600 +++ mailbox.py 2014-08-31 19:48:12.149684957 -0500 @@ -1125,28 +1125,32 @@ 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: - all_keys = set(self.keys()) - for line in f: - try: - name, contents = line.split(':') - keys = set() - for spec in contents.split(): - if spec.isdigit(): - keys.add(int(spec)) - else: - start, stop = (int(x) for x in spec.split('-')) - keys.update(range(start, stop + 1)) - results[name] = [key for key in sorted(keys) \ - if key in all_keys] - if len(results[name]) == 0: - del results[name] - except ValueError: - raise FormatError('Invalid sequence specification: %s' % - line.rstrip()) - finally: - f.close() + f = open(os.path.join(self._path, '.mh_sequences'), 'r') + except IOError: + pass + else: + try: + all_keys = set(self.keys()) + for line in f: + try: + name, contents = line.split(':') + keys = set() + for spec in contents.split(): + if spec.isdigit(): + keys.add(int(spec)) + else: + start, stop = (int(x) for x in spec.split('-')) + keys.update(range(start, stop + 1)) + results[name] = [key for key in sorted(keys) \ + if key in all_keys] + if len(results[name]) == 0: + del results[name] + except ValueError: + raise FormatError('Invalid sequence specification: %s' % + line.rstrip()) + finally: + f.close() return results def set_sequences(self, sequences):