| trac-1 | Traceback (most recent call last):
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/trac/web/main.py", line 266, in dispatch
|
| trac-1 | req.send(output, content_type or 'text/html')
|
| trac-1 | ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/trac/web/api.py", line 875, in send
|
| trac-1 | self._send(content, content_type, status)
|
| trac-1 | ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/trac/web/api.py", line 1011, in _send
|
| trac-1 | self.write(content)
|
| trac-1 | ~~~~~~~~~~^^^^^^^^^
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/trac/web/api.py", line 969, in write
|
| trac-1 | for chunk in data:
|
| trac-1 | ^^^^
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/trac/web/chrome.py", line 1569, in iterable_content
|
| trac-1 | for chunk in stream:
|
| trac-1 | ^^^^^^
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 1670, in __next__
|
| trac-1 | return self._next() # type: ignore
|
| trac-1 | ~~~~~~~~~~^^
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 1647, in _buffered_generator
|
| trac-1 | c = next(self._gen)
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 1357, in generate
|
| trac-1 | yield self.environment.handle_exception()
|
| trac-1 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 939, in handle_exception
|
| trac-1 | raise rewrite_traceback_stack(source=source)
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/trac/ticket/templates/ticket.html", line 12, in top-level template code
|
| trac-1 | # extends 'layout.html'
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/trac/templates/layout.html", line 12, in top-level template code
|
| trac-1 | # import "macros.html" as jmacros with context
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/trac/templates/theme.html", line 22, in top-level template code
|
| trac-1 | # block body
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/trac/templates/theme.html", line 130, in block 'body'
|
| trac-1 | # block content
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/trac/ticket/templates/ticket.html", line 159, in block 'content'
|
| trac-1 | # include 'ticket_box.html'
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/trac/ticket/templates/ticket_box.html", line 212, in top-level template code
|
| trac-1 | ${wiki_to_html(context, ticket.description,
|
| trac-1 | ^^^^^^^^^^^^^^^^^
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/trac/wiki/formatter.py", line 1625, in format_to_html
|
| trac-1 | return HtmlFormatter(env, context, wikidom).generate(escape_newlines)
|
| trac-1 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/trac/wiki/formatter.py", line 1579, in generate
|
| trac-1 | Formatter(self.env, self.context).format(self.wikidom, out,
|
| trac-1 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
|
| trac-1 | escape_newlines)
|
| trac-1 | ^^^^^^^^^^^^^^^^
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/trac/wiki/formatter.py", line 1362, in format
|
| trac-1 | result = re.sub(self.wikiparser.rules, self.replace, line)
|
| trac-1 | File "/usr/local/lib/python3.13/re/__init__.py", line 208, in sub
|
| trac-1 | return _compile(pattern, flags).sub(repl, string, count)
|
| trac-1 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/trac/wiki/formatter.py", line 1277, in replace
|
| trac-1 | replacement = self.handle_match(fullmatch)
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/trac/wiki/formatter.py", line 1273, in handle_match
|
| trac-1 | return internal_handler(match, fullmatch)
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/trac/wiki/formatter.py", line 628, in _shref_formatter
|
| trac-1 | return self._make_link(ns, target, match, match, fullmatch)
|
| trac-1 | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/trac/wiki/formatter.py", line 678, in _make_link
|
| trac-1 | return resolver(self, ns, target, escape(label, False),
|
| trac-1 | fullmatch)
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/tractags/wiki.py", line 389, in _format_tagged
|
| trac-1 | not iter_is_empty(self.tag_system.query(formatter.req,
|
| trac-1 | ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| trac-1 | query))):
|
| trac-1 | ^^^^^^^
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/tractags/wiki.py", line 404, in iter_is_empty
|
| trac-1 | next_iter(i)
|
| trac-1 | ~~~~~~~~~^^^
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/tractags/wiki.py", line 44, in next_iter
|
| trac-1 | return next(i)
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/tractags/api.py", line 264, in query
|
| trac-1 | query = Query(query, attribute_handlers=all_attribute_handlers)
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/tractags/query.py", line 172, in __init__
|
| trac-1 | root = self.parse(tokens)
|
| trac-1 | File "/usr/local/lib/python3.13/site-packages/tractags/query.py", line 194, in parse
|
| trac-1 | raise InvalidQuery(_("Attribute must be a word"))
|
| trac-1 | InvalidQuery: Attribute must be a word
|