Henk-Jaap Wagenaar added the comment:
To me the documentation doesn't quite look right, in the case of no factory
being passed, it runs:
def __getitem__(self, key):
"""Return the keyed message; raise KeyError if it doesn't exist."""
if not self._factory:
return self.get_message(key)
else:
return self._factory(self.get_file(key))
from the Mailbox base class. The get_message is thus:
def get_message(self, key):
"""Return a Message representation or raise a KeyError."""
start, stop = self._lookup(key)
self._file.seek(start)
from_line = self._file.readline().replace(linesep, b'')
string = self._file.read(stop - self._file.tell())
msg = self._message_factory(string.replace(linesep, b'\n'))
msg.set_from(from_line[5:].decode('ascii'))
return msg
where self._message_factory is set to mailbox.mboxMessage.
I am not familiar with this module, so am unsure whether the documentation is
ill-worded or it is a bug.
----------
nosy: +Henk-Jaap Wagenaar
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue31538>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com