NameError: global name 'PermissionError' is not defined
Python 2.2.2
/usr/bin/python2.2

A problem occurred while running a Python script. Here is the sequence of function calls leading up to the error, with the most recent (innermost) call first. The exception attributes are:
      __doc__ = 'Name not found globally.'
      __getitem__ = <bound method NameError.__getitem__ of <exceptions.NameError instance>>
      __init__ = <bound method NameError.__init__ of <exceptions.NameError instance>>
      __module__ = 'exceptions'
      __str__ = <bound method NameError.__str__ of <exceptions.NameError instance>>
      args = ("global name 'PermissionError' is not defined",)

/usr/lib/python2.2/site-packages/roundup/cgi/client.py in _changenode(self=<_roundup_tracker_2.interfaces.Client instance>, cn='issue', nodeid='3', props={'priority': '3'})
 1157         # check for permission
 1158         if not self.editItemPermission(props):
 1159             raise PermissionError, 'You do not have permission to edit %s'%cn
      global PermissionError = undefined, cn = 'issue'
 1160 
 1161         # make the changes

/usr/lib/python2.2/site-packages/roundup/cgi/client.py in _editnodes(self=<_roundup_tracker_2.interfaces.Client instance>, all_props={('issue', '3'): {'priority': '3'}}, all_links=[('issue', '3', 'messages', [('msg', '-1')]), ('issue', '3', 'files', [('file', '-1')]), ('msg', '-1', 'files', [('file', '-1')])], newids=None)
 1108             if nodeid is not None and int(nodeid) > 0:
 1109                 # make changes to the node
 1110                 props = self._changenode(cn, nodeid, props)
      props = {'priority': '3'}, self = <_roundup_tracker_2.interfaces.Client instance>, global _changenode = undefined, cn = 'issue', nodeid = '3'
 1111 
 1112                 # and some nice feedback for the user

/usr/lib/python2.2/site-packages/roundup/cgi/client.py in editItemAction(self=<_roundup_tracker_2.interfaces.Client instance>)
  964 #        try:
  965         if 1:
  966             message = self._editnodes(props, links)
      message = undefined, self = <_roundup_tracker_2.interfaces.Client instance>, global _editnodes = undefined, props = {('issue', '3'): {'priority': '3'}}, links = [('issue', '3', 'messages', [('msg', '-1')]), ('issue', '3', 'files', [('file', '-1')]), ('msg', '-1', 'files', [('file', '-1')])]
  967 #        except (ValueError, KeyError, IndexError), message:
  968 #            self.error_message.append(_('Error: ') + str(message))

/usr/lib/python2.2/site-packages/roundup/cgi/client.py in handle_action(self=<_roundup_tracker_2.interfaces.Client instance>)
  524                 raise ValueError, 'No such action "%s"'%action
  525             # call the mapped action
  526             getattr(self, method)()
      global getattr = undefined, self = <_roundup_tracker_2.interfaces.Client instance>, method = 'editItemAction'
  527         except Redirect:
  528             raise

/usr/lib/python2.2/site-packages/roundup/cgi/client.py in inner_main(self=<_roundup_tracker_2.interfaces.Client instance>)
  260         except:
  261             # everything else
  262             self.write(cgitb.html())
      self = <_roundup_tracker_2.interfaces.Client instance>, global write = undefined, global cgitb = <module 'roundup.cgi.cgitb' from '/usr/lib/python2.2/site-packages/roundup/cgi/cgitb.pyc'>, global html = undefined
  263 
  264     def clean_sessions(self):