Modify ↓
#449 closed defect (duplicate)
KeyError: 'id'
| Reported by: | anonymous | Owned by: | Bas van der Vlies |
|---|---|---|---|
| Priority: | normal | Component: | EmailtoTracScript |
| Severity: | normal | Keywords: | |
| Cc: | Trac Release: | 0.9 |
Description
I have encountered the following errors.
TD: saving email to /var/tmp/msg.txt
TD: multipart container
TD: part1: Content-Type: text/plain
TD: part1: filename: None
TD: this part is not multipart
TD: writing part1 (/var/tmp/part1)
TD: part2: Content-Type: text/plain
TD: part2: filename: attachutf-8.txt
TD: this part is not multipart
TD: writing part2 (/var/tmp/part2)
Traceback (most recent call last):
File "/home/fedora/tamura/ports/email2trac-0.7/email2trac", line 765, in ?
tktparser.parse(sys.stdin)
File "/home/fedora/tamura/ports/email2trac-0.7/email2trac", line 467, in parse
if self.ticket_update(m):
File "/home/fedora/tamura/ports/email2trac-0.7/email2trac", line 356, in ticket_update
self.attachments(m, tkt)
File "/home/fedora/tamura/ports/email2trac-0.7/email2trac", line 641, in attachments
att = attachment.Attachment(self.env, 'ticket', ticket['id'])
File "/usr/lib/python2.4/site-packages/trac/ticket/model.py", line 97, in __getitem__
return self.values[name]
KeyError: 'id'
It might fix with following patch.
*** 352,358 ****
else:
tkt = Ticket(self.env, ticket_id, self.db)
tkt.save_changes(self.author, body_text, when)
+ tkt['id'] = ticket_id
self.attachments(m, tkt)
Attachments (0)
Change History (4)
comment:1 Changed 19 years ago by
| Resolution: | → duplicate |
|---|---|
| Status: | new → closed |
comment:2 Changed 19 years ago by
i think it doesn't set 'id' in method _fetch_ticket on Ticket.
it because of method get_ticket_fields() on TicketSystem doesn't return 'name':'id'.
What we can do is that hack the class Ticket or change the email2trac.py.
thanks
comment:3 Changed 19 years ago by
Thanks for the info. In the 0.8 releasae the id is set in _fetch_ticket_fields. That drop that in 0.9 and higher versions. So or it is a bug or we patch email2trac with the patch you provided. Can you sent me your name then i give you the credits ;-)
comment:4 Changed 19 years ago by
Applied patch to trunk for trac version greater then 0.8, see #258
Note: See
TracTickets for help on using
tickets.



This can be a solution, but it is strange that the 'id' field is not filled in when we try to fetch an existing ticket can yoo try to add some debug statements to ticket_update function. See ticket #258 (same ticket)