[New-bugs-announce] [issue28473] mailbox.MH crashes on certain Claws Mail .mh_sequences files

Garrett Nievin report at bugs.python.org
Tue Oct 18 18:39:26 EDT 2016


New submission from Garrett Nievin:

Using Claws Mail, and mailbox.MH crashes on two different conditions:

1) sequence spans lines, suchly:
unseen: 1-222 225-300
990-1024 1048-2048

Not Pythonic, but I fixed it with this update:

    def get_sequences(self):
        """Return a name-to-key-list dictionary to define each sequence."""
        results = {}
        with open(os.path.join(self._path, '.mh_sequences'), 'r', encoding='ASCII') as f:
            all_keys = set(self.keys())
            for line in f:
                try:
                    if line.count(':') == 0:
                        contents = line
                    else:
                        name, contents = line.split(':')
                        keys = set()
                    for spec in contents.split():
                        if spec.isdigit():
                            keys.add(int(spec))



2) Sequence spec appears to be open-ended on the front:
 28119-28123 28127 28129 28131 28133-28142 28144-28154 28156-28172 28174-28189 28191-28204 28206-28218 28220-28224 28226 28228-28234 28237-28239
 28119-28123 28127 28129 28131 28133-28142 28144-28154 28156-28163
 28119-28123 28127 28129 28131 28133-28157
-27920 27923-27945 27947

I'm not sure how to interpret this, so just put in a kludgy fix to get my script running as a workaround (not using sequences).

Would also be interested in an option to open a mailbox and process while ignoring sequences.

----------
components: Library (Lib)
messages: 278945
nosy: garrettzilla
priority: normal
severity: normal
status: open
title: mailbox.MH crashes on certain Claws Mail .mh_sequences files
type: crash
versions: Python 3.5

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue28473>
_______________________________________


More information about the New-bugs-announce mailing list