This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2012年05月25日 22:55 by poliveira, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| reproduce.py | poliveira, 2012年05月25日 22:55 | |||
| Messages (2) | |||
|---|---|---|---|
| msg161629 - (view) | Author: Pablo Oliveira (poliveira) | Date: 2012年05月25日 22:55 | |
I'm using Python 2.7.3rc2 from debian sid packages. If a mailbox.Maildir object is created with a unicode dirname, retrieving a message tagged with maildir flags with get() or get_message() fails with the following exception: Traceback (most recent call last): File "reproduce.py", line 21, in <module> mb.get_message(key) File "/usr/lib/python2.7/mailbox.py", line 343, in get_message msg.set_info(name.split(self.colon)[-1]) File "/usr/lib/python2.7/mailbox.py", line 1480, in set_info raise TypeError('info must be a string: %s' % type(info)) TypeError: info must be a string: <type 'unicode'> Since python os.path module seems to cope with unicode paths http://docs.python.org/howto/unicode.html, it would be nice to fix this issue. Attached is a simple script reproducing the bug. The following patch seems to solve the issue for me: --- /usr/lib/python2.7/mailbox.py 2012年04月23日 01:25:48.000000000 +0200 +++ mailbox.py 2012年05月26日 00:34:03.585347627 +0200 @@ -1474,7 +1474,7 @@ def set_info(self, info): """Set the message's "info" string.""" - if isinstance(info, str): + if isinstance(info, basestring): self._info = info else: raise TypeError('info must be a string: %s' % type(info)) Regards, Pablo Oliveira. |
|||
| msg169792 - (view) | Author: Petri Lehtinen (petri.lehtinen) * (Python committer) | Date: 2012年09月03日 18:19 | |
This would be considered a new feature, and is thus out of scope for 2.7. An easy workaround is to encode the unicode path to str using the file system encoding first (sys.getfilesystemencoding()). |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:30 | admin | set | github: 59127 |
| 2012年09月03日 18:19:54 | petri.lehtinen | set | status: open -> closed resolution: rejected messages: + msg169792 stage: needs patch -> resolved |
| 2012年09月02日 10:43:34 | petri.lehtinen | set | keywords:
+ easy nosy: + petri.lehtinen stage: needs patch |
| 2012年05月29日 21:16:45 | r.david.murray | set | nosy:
+ barry, r.david.murray components: + email, - Library (Lib) |
| 2012年05月25日 22:55:21 | poliveira | create | |