Roundup Tracker - Issues

Message7538

Author schlatterbeck
Recipients rouilj, schlatterbeck
Date 2022-05-30.15:57:24
Message-id <1653926245.26.0.228437046533.issue2551207@roundup.psfhosted.org>
In-reply-to
When moving an existing tracker to Python3 I'm getting the traceback below from a HTML form.
Turns out the HTMLDatabase.list function tries to sort items (ids) of a class.
If the id is numeric *and* the class has an order attribute that allows NULL values (happens when the class has a explicit order attribute) and we encounter such NULL values (None in python) we compare a string to None which is disallowed in Python3. So the solution is to check for None in the sort-key function.

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/client.py", line 1927, in renderContext
    result = pt.render(self, None, None, **args)
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/engine_zopetal.py", line 94, in render
    TALInterpreter.TALInterpreter(self._v_program, self.macros,
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/TAL/TALInterpreter.py", line 192, in __call__
    self.interpret(self.program)
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/TAL/TALInterpreter.py", line 236, in interpret
    handlers[opcode](self, args)
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/TAL/TALInterpreter.py", line 680, in do_useMacro
    self.interpret(macro)
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/TAL/TALInterpreter.py", line 236, in interpret
    handlers[opcode](self, args)
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/TAL/TALInterpreter.py", line 413, in do_optTag_tal
    self.do_optTag(stuff)
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/TAL/TALInterpreter.py", line 398, in do_optTag
    return self.no_tag(start, program)
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/TAL/TALInterpreter.py", line 392, in no_tag
    self.interpret(program)
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/TAL/TALInterpreter.py", line 236, in interpret
    handlers[opcode](self, args)
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/TAL/TALInterpreter.py", line 644, in do_condition
    self.interpret(block)
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/TAL/TALInterpreter.py", line 236, in interpret
    handlers[opcode](self, args)
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/TAL/TALInterpreter.py", line 413, in do_optTag_tal
    self.do_optTag(stuff)
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/TAL/TALInterpreter.py", line 398, in do_optTag
    return self.no_tag(start, program)
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/TAL/TALInterpreter.py", line 392, in no_tag
    self.interpret(program)
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/TAL/TALInterpreter.py", line 236, in interpret
    handlers[opcode](self, args)
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/TAL/TALInterpreter.py", line 705, in do_defineSlot
    self.interpret(slot)
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/TAL/TALInterpreter.py", line 236, in interpret
    handlers[opcode](self, args)
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/TAL/TALInterpreter.py", line 467, in do_setLocal_tal
    self.engine.setLocal(name, self.engine.evaluateValue(expr))
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/PageTemplates/TALES.py", line 225, in evaluate
    return expression(self)
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/PageTemplates/PythonExpr.py", line 91, in __call__
    return f()
  File "<string>", line 2, in f
  File "/usr/local/lib/python3.9/dist-packages/roundup/cgi/templating.py", line 791, in list
    l.sort(key=keyfunc)
TypeError: '<' not supported between instances of 'NoneType' and 'str'
History
Date User Action Args
2022-05-30 15:57:25schlatterbecksetrecipients: + schlatterbeck, rouilj
2022-05-30 15:57:25schlatterbecksetmessageid: <1653926245.26.0.228437046533.issue2551207@roundup.psfhosted.org>
2022-05-30 15:57:25schlatterbecklinkissue2551207 messages
2022-05-30 15:57:24schlatterbeckcreate