[issue22319] mailbox.MH chokes on directories without .mh_sequences

2017-04-16 Thread R. David Murray

R. David Murray added the comment:

If there is a way to resolve the lock issue we can consider it.  But (without 
looking at the code again) I suspect the locking is too deeply embedded in the 
mbox logic for this to be a safe change.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22319] mailbox.MH chokes on directories without .mh_sequences

2017-04-16 Thread R. David Murray

R. David Murray added the comment:

The support.  ClawsMail is broken, IMO.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22319] mailbox.MH chokes on directories without .mh_sequences

2017-04-16 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

Do you mean rejecting the support of Claws Mail IMAP-cache folder or just the 
patch?

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22319] mailbox.MH chokes on directories without .mh_sequences

2017-04-16 Thread R. David Murray

R. David Murray added the comment:

Honestly, given the open questions my inclination would be to reject this.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22319] mailbox.MH chokes on directories without .mh_sequences

2017-04-15 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

Ping.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22319] mailbox.MH chokes on directories without .mh_sequences

2017-03-24 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

I consider this issue as a new feature.

PR 804 makes get_sequences() and set_sequences() working when the 
".mh_sequences" file does not exist.

The open question is what to do with lock(). Currently it fails if the 
".mh_sequences" file does not exist. Is it correct to create the 
".mh_sequences" file in lock() or this invalidates the lock?

Is it safe to change the file open mode in set_sequences() from "r+" to "w" 
(the file is truncated later)?

--
nosy: +serhiy.storchaka
type: behavior -> enhancement
versions: +Python 3.7 -Python 2.7, Python 3.4, Python 3.5

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22319] mailbox.MH chokes on directories without .mh_sequences

2017-03-24 Thread Serhiy Storchaka

Changes by Serhiy Storchaka :


--
pull_requests: +709

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22319] mailbox.MH chokes on directories without .mh_sequences

2014-09-01 Thread Tim Chase

Tim Chase added the comment:

I had to tweak the example reproduction code as it seemed to succeed (i.e., 
fail to demonstrate the problem) in some instances.  The same exception occurs, 
but here's the full original traceback:


$ cd /home/tim/.claws-mail/imapcache/mail.example.com/t...@example.com/INBOX/

$ python3
Python 3.2.3 (default, Feb 20 2013, 14:44:27) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mailbox
>>> m = mailbox.MH('.')
>>> for msg in m:
... print(msg)
... 
Traceback (most recent call last):
  File "", line 1, in 
  File "/usr/lib/python3.2/mailbox.py", line 114, in itervalues
value = self[key]
  File "/usr/lib/python3.2/mailbox.py", line 78, in __getitem__
return self.get_message(key)
  File "/usr/lib/python3.2/mailbox.py", line 1019, in get_message
for name, key_list in self.get_sequences().items():
  File "/usr/lib/python3.2/mailbox.py", line 1128, in get_sequences
f = open(os.path.join(self._path, '.mh_sequences'), 'r')
IOError: [Errno 2] No such file or directory: 
'/home/tim/.claws-mail/imapcache/mail.example.com/t...@example.com/INBOX/.mh_sequences'

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22319] mailbox.MH chokes on directories without .mh_sequences

2014-08-31 Thread R. David Murray

Changes by R. David Murray :


--
components: +email
nosy: +barry, r.david.murray
stage:  -> patch review
versions: +Python 3.4, Python 3.5 -Python 3.1, Python 3.2

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22319] mailbox.MH chokes on directories without .mh_sequences

2014-08-31 Thread Tim Chase

Changes by Tim Chase :


Added file: http://bugs.python.org/file36516/mailbox_mh_sequences_lbyl.diff

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22319] mailbox.MH chokes on directories without .mh_sequences

2014-08-31 Thread Tim Chase

Changes by Tim Chase :


--
keywords: +patch
Added file: http://bugs.python.org/file36515/mailbox_mh_sequences.diff

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22319] mailbox.MH chokes on directories without .mh_sequences

2014-08-31 Thread Tim Chase

New submission from Tim Chase:

If a mailbox.MH() object is created by pointing at a path that exists but 
doesn't contain a ".mh_sequences" file, it raises an exception upon iteration 
over .{iter,}items() rather than gracefully assuming that the file is empty.  I 
encountered this by pointing it at a Claws Mail IMAP-cache folder (which claims 
to store its messages in MH format¹ but it doesn't place a .mh_sequences file 
in those folders) only to have it raise an exception.

To replicate:
$ mkdir empty
$ python
>>> import mailbox
>>> for msg in mailbox.MH('empty').values(): pass

I suspect this could simply wrap the "f = open(os.path.join(self._path, 
'.mh_sequences'), 'r')" and following lines in a check to ignore the file if it 
doesn't exist (returning the empty "results").

¹ 
http://www.claws-mail.org/faq/index.php/General_Information#How_does_Claws_Mail_store_mails.3F

--
components: Library (Lib)
messages: 226197
nosy: gumnos
priority: normal
severity: normal
status: open
title: mailbox.MH chokes on directories without .mh_sequences
type: behavior
versions: Python 2.7, Python 3.1, Python 3.2

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com