Opened 5 years ago

Closed 5 years ago

#9722 closed defect (fixed)

'NoneType' object is unsubscriptable

Reported by: anonymous Owned by: rjollos
Priority: normal Component: SimpleTicketPlugin
Severity: normal Keywords:
Cc: Trac Release: 0.12

Description (last modified by rjollos)

Sometimes, the following error occurs:

2012-01-22 12:06:23,170 Trac[main] ERROR: Exception caught while post-processing request: 
Traceback (most recent call last):
  File "build/bdist.linux-x86_64/egg/trac/web/", line 270, in dispatch
  File "build/bdist.linux-x86_64/egg/trac/web/", line 359, in _post_process_request
    f.post_process_request(req, *(None,)*extra_arg_count)
  File "build/bdist.linux-x86_64/egg/simpleticket/", line 40, in post_process_request
    data['fields'] = [f for f in data['fields'] if f['name'] not in self.fields]
TypeError: 'NoneType' object is unsubscriptable

A solution is to add “if f is not None” to the array comprehensions on lines 38 and 40 before it tries to use f['name'].

Attachments (0)

Change History (4)

comment:1 Changed 5 years ago by rjollos

  • Description modified (diff)

I'll go ahead and apply your fix. Any idea of the circumstances that result in a ticket field being none?

comment:2 Changed 5 years ago by rjollos

(In [11178]) Refs #9722: Check if a ticket field is None before trying to add it to the list of fields to be filtered (or not to be filtered, depending on the show_only setting).

comment:3 Changed 5 years ago by rjollos

  • Status changed from new to assigned

I added the check, but I'd like to reproduce the issue, so I'd appreciate if you can provide more details regarding your Trac installation.

comment:4 Changed 5 years ago by rjollos

  • Resolution set to fixed
  • Status changed from assigned to closed

Well, please follow up if you can.

Add Comment

Modify Ticket

as closed The owner will remain rjollos.
The resolution will be deleted. Next status will be 'reopened'.

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.