Parsing email attachments: get_payload() produces unsaveable data
Albert Hopkins
marduk at letterboxes.org
Sun Oct 4 12:09:33 EDT 2009
On Sun, 2009-10-04 at 08:16 -0700, dpapathanasiou wrote:
> > And where might we be able to see that stack trace?
>
> This is it:
>
> Exception: ('AttributeError', '<no args>', [' File "/opt/server/smtp/
> smtps.py", line 213, in handle\n e
> mail_replier.post_reply(recipient_mbox, \'\'.join(data))\n', ' File "/
> opt/server/smtp/email_replier.py", l
> ine 108, in post_reply\n save_attachments(result[2], msg_text)\n',
> ' File "/opt/server/smtp/email_repli
> er.py", line 79, in save_attachments\n data_manager.upload_file
> (item_id, filename, filedata)\n', ' File
> "../db/data_manager.py", line 697, in upload_file\n if
> docs_db.save_file(item_id, file_name, file_data)
> :\n', ' File "../db/docs_db.py", line 102, in save_file\n result =
> file_utils.write_file(saved_file_pat
> h, saved_file_name + saved_file_ext, file_data)\n'])
>
> If you're wondering, I'm using this to capture the exception:
>
> def formatExceptionInfo(maxTBlevel=5):
> """For displaying exception information"""
> cla, exc, trbk = sys.exc_info()
> excName = cla.__name__
> try:
> excArgs = exc.__dict__["args"]
> except KeyError:
> excArgs = "<no args>"
> excTb = traceback.format_tb(trbk, maxTBlevel)
> return (excName, excArgs, excTb)
>
Which is *really* difficult (for me) to read. Any chance of providing a
"normal" traceback?
More information about the Python-list
mailing list