| <type 'exceptions.AttributeError'> | Python 2.7.9: /usr/local/bin/python2.7 Sat Aug 29 21:32:56 2026 |
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
| /usr/local/lib/python2.7/site-packages/trac/web/_fcgi.py in run(self=<trac.web._fcgi.Request object>) |
| 568 """Runs the handler, flushes the streams, and ends the request.""" |
| 569 try: |
| => 570 protocolStatus, appStatus = self.server.handler(self) |
| 571 except: |
| 572 traceback.print_exc(file=self.stderr) |
| protocolStatus undefined, appStatus undefined, self = <trac.web._fcgi.Request object>, self.server = <trac.web._fcgi.WSGIServer object>, self.server.handler = <bound method WSGIServer.handler of <trac.web._fcgi.WSGIServer object>> |
| /usr/local/lib/python2.7/site-packages/trac/web/_fcgi.py in handler(self=<trac.web._fcgi.WSGIServer object>, req=<trac.web._fcgi.Request object>) |
| 1258 try: |
| 1259 try: |
| => 1260 result = self.application(environ, start_response) |
| 1261 try: |
| 1262 for data in result: |
| result = None, self = <trac.web._fcgi.WSGIServer object>, self.application = <function dispatch_request>, environ = {'CONTENT_LENGTH': '', 'CONTENT_TYPE': '', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'trac_form_token=a02880e9193754407c916ee1; trac_session=3b1fad0ab0db8b94372b8dca', 'HTTP_HOST': 'pnyf.inf.elte.hu', 'HTTP_USER_AGENT': 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Geck...patible; ClaudeBot/1.0; +claudebot@anthropic.com)', 'HTTP_VIA': '1.1 squid-proxy-5b96dc6d46-78kzv (squid/6.13)', ...}, start_response = <function start_response> |
| /usr/local/lib/python2.7/site-packages/trac/web/main.py in dispatch_request(environ={'CONTENT_LENGTH': '', 'CONTENT_TYPE': '', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'trac_form_token=a02880e9193754407c916ee1; trac_session=3b1fad0ab0db8b94372b8dca', 'HTTP_HOST': 'pnyf.inf.elte.hu', 'HTTP_USER_AGENT': 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Geck...patible; ClaudeBot/1.0; +claudebot@anthropic.com)', 'HTTP_VIA': '1.1 squid-proxy-5b96dc6d46-78kzv (squid/6.13)', ...}, start_response=<function start_response>) |
| 463 translation.make_activable(lambda: req.locale, env.path if env else None) |
| 464 try: |
| => 465 return _dispatch_request(req, env, env_error) |
| 466 finally: |
| 467 translation.deactivate() |
| global _dispatch_request = <function _dispatch_request>, req = <RequestWithSession "GET '/wiki/TracPlugins'">, env = <trac.env.Environment object>, env_error = None |
| /usr/local/lib/python2.7/site-packages/trac/web/main.py in _dispatch_request(req=<RequestWithSession "GET '/wiki/TracPlugins'">, env=<trac.env.Environment object>, env_error=None) |
| 500 resp = req._response or [] |
| 501 except HTTPException, e: |
| => 502 _send_user_error(req, env, e) |
| 503 except Exception, e: |
| 504 send_internal_error(env, req, sys.exc_info()) |
| global _send_user_error = <function _send_user_error>, req = <RequestWithSession "GET '/wiki/TracPlugins'">, env = <trac.env.Environment object>, e = HTTPForbidden(u"403 Forbidden (WIKI_VIEW privile...ins. You don't have the required permissions.)",) |
| /usr/local/lib/python2.7/site-packages/trac/web/main.py in _send_user_error(req=<RequestWithSession "GET '/wiki/TracPlugins'">, env=<trac.env.Environment object>, e=HTTPForbidden(u"403 Forbidden (WIKI_VIEW privile...ins. You don't have the required permissions.)",)) |
| 536 # TRANSLATOR: ... not logged in, you may want to 'do so' now (link) |
| 537 do_so = tag.a(_("do so"), href=req.href.login()) |
| => 538 req.chrome['notices'].append( |
| => 539 tag_("You are currently not logged in. You may want to " |
| => 540 "%(do_so)s now.", do_so=do_so)) |
| req = <RequestWithSession "GET '/wiki/TracPlugins'">, req.chrome = {'ctxtnav': [], 'links': {}, 'metas': [], 'notices': [], 'script_data': {}, 'scripts': [], 'warnings': []}, ].append undefined, global tag_ = <bound method TranslationsProxy.tgettext of <trac.util.translation.TranslationsProxy object>>, do_so = <Element "a"> |
| /usr/local/lib/python2.7/site-packages/trac/web/api.py in __getattr__(self=<RequestWithSession "GET '/wiki/TracPlugins'">, name='chrome') |
| 314 callbacks dictionary.""" |
| 315 if name in self.callbacks: |
| => 316 value = self.callbacks[name](self) |
| 317 setattr(self, name, value) |
| 318 return value |
| value undefined, self = <RequestWithSession "GET '/wiki/TracPlugins'">, self.callbacks = {'_inheaders': <unbound method Request._parse_headers>, 'arg_list': <unbound method Request._parse_arg_list>, 'args': <function <lambda>>, 'authname': <bound method RequestDispatcher.authenticate of <trac.web.main.RequestDispatcher object>>, 'chrome': <functools.partial object>, 'form_token': <bound method RequestDispatcher._get_form_token of <trac.web.main.RequestDispatcher object>>, 'incookie': <unbound method Request._parse_cookies>, 'languages': <unbound method Request._parse_languages>, 'lc_time': <bound method RequestDispatcher._get_lc_time of <trac.web.main.RequestDispatcher object>>, 'locale': <bound method RequestDispatcher._get_locale of <trac.web.main.RequestDispatcher object>>, ...}, name = 'chrome' |
| /usr/local/lib/python2.7/site-packages/trac/web/chrome.py in prepare_request(self=<trac.web.chrome.Chrome object>, req=<RequestWithSession "GET '/wiki/TracPlugins'">, handler=<trac.wiki.web_ui.WikiModule object>) |
| 664 |
| 665 htdocs_location = self.htdocs_location or req.href.chrome('common') |
| => 666 chrome['htdocs_location'] = htdocs_location.rstrip('/') + '/' |
| 667 |
| 668 # HTML <head> links |
| chrome = {'ctxtnav': [], 'links': {}, 'metas': [], 'notices': [], 'script_data': {}, 'scripts': [], 'warnings': []}, htdocs_location = [''], htdocs_location.rstrip undefined |
<type 'exceptions.AttributeError'>: 'list' object has no attribute 'rstrip'
args =
("'list' object has no attribute 'rstrip'",)
message =
"'list' object has no attribute 'rstrip'"