Opened 13 years ago

Last modified 12 years ago

#8369 closed defect

InternalError with enabled SubversionLink options — at Initial Version

Reported by: anonymous Owned by: Pontus Enmark
Priority: high Component: ContextMenuPlugin
Severity: major Keywords:
Cc: Trac Release: 0.12

Description

When I enable SubversionLink options I get InternalError when I try view source via BrowseSource.

Trac detected an internal error: AttributeError: 'NoneType' object has no attribute 'rstrip'

Python Traceback Most recent call last:

  • File "build/bdist.linux-i686/egg/trac/web/main.py", line 513, in _dispatch_request Code fragment: Line 508 try: 509 if not env and env_error: 510 raise HTTPInternalError(env_error) 511 try: 512 dispatcher = RequestDispatcher(env) 513 dispatcher.dispatch(req) 514 except RequestDone: 515 pass 516 resp = req._response or [] 517 518 except HTTPException, e: Local variables: Name Value dispatcher <trac.web.main.RequestDispatcher object at 0xa96038c> e AttributeError("'NoneType' object has no attribute 'rstrip'",) env <trac.env.Environment object at 0xb18822c> env_error None req <Request "GET '/browser'"> resp []
  • File "build/bdist.linux-i686/egg/trac/web/main.py", line 256, in dispatch Code fragment: Line 251 pprint(data, out) 252 req.send(out.getvalue(), 'text/plain') 253 else: 254 output = chrome.render_template(req, template, 255 data, 256 content_type) 257 # Give the session a chance to persist changes 258 req.session.save() 259 req.send(output, content_type or 'text/html') 260 else: 261 self._post_process_request(req) Local variables: Name Value chosen_handler <trac.versioncontrol.web_ui.browser.BrowserModule object at 0xabe212c> chrome <trac.web.chrome.Chrome object at 0xaeb5e8c> content_type None data {'dateinfo': <function dateinfo at 0xac8325c>, 'file': None, 'stickyrev': ... err (<type 'exceptions.AttributeError'>, AttributeError("'NoneType' object has ... handler <trac.versioncontrol.web_ui.browser.BrowserModule object at 0xabe212c> req <Request "GET '/browser'"> resp ('browser.html', {'dateinfo': <function dateinfo at 0xac8325c>, 'file': ... self <trac.web.main.RequestDispatcher object at 0xa96038c> template 'browser.html'
  • File "build/bdist.linux-i686/egg/trac/web/chrome.py", line 816, in render_template Code fragment: Line 811 812 stream = template.generate(data) 813 814 # Filter through ITemplateStreamFilter plugins 815 if self.stream_filters: 816 stream |= self._filter_stream(req, method, filename, stream, data) 817 818 if fragment: 819 return stream 820 821 if method == 'text': Local variables: Name Value content_type 'text/html' data {'all': <built-in function all>, 'pprint': <function pformat at ... filename 'browser.html' fragment False i 0 method 'xhtml' req <Request "GET '/browser'"> self <trac.web.chrome.Chrome object at 0xaeb5e8c> stream <genshi.core.Stream object at 0xab200cc> template <MarkupTemplate "browser.html"> type_ 'notices'
  • File "/usr/lib/python2.5/site-packages/Genshi-0.6-py2.5.egg/genshi/core.py", line 132, in or Code fragment: Line 127 128 :param function: the callable object that should be applied as a filter 129 :return: the filtered stream 130 :rtype: Stream 131 """ 132 return Stream(_ensure(function(self)), serializer=self.serializer) 133 134 def filter(self, *filters): 135 """Apply filters to the stream. 136 137 This method returns a new stream with the given filters applied. The Local variables: Name Value function <function inner at 0xafee454> self <genshi.core.Stream object at 0xab200cc>
  • File "build/bdist.linux-i686/egg/trac/web/chrome.py", line 955, in inner Code fragment: Line 950 951 def _filter_stream(self, req, method, filename, stream, data): 952 def inner(stream, ctxt=None): 953 for filter in self.stream_filters: 954 stream = filter.filter_stream(req, method, filename, stream, 955 data) 956 return stream 957 return inner 958 959 def _stream_location(self, stream): 960 for kind, data, pos in stream: Local variables: Name Value ctxt None data {'all': <built-in function all>, 'pprint': <function pformat at ... filename 'browser.html' filter <contextmenu.contextmenu.SourceBrowserContextMenu object at 0xafb4b6c> method 'xhtml' req <Request "GET '/browser'"> self <trac.web.chrome.Chrome object at 0xaeb5e8c> stream <genshi.core.Stream object at 0xab200cc>
  • File "build/bdist.linux-i686/egg/contextmenu/contextmenu.py", line 155, in filter_stream Code fragment: Line 150 if 'path' not in data: 151 # Probably an upstream error 152 return stream 153 # provide a link to the svn repository at the top of the Browse Source listing 154 if self.env.is_component_enabled("contextmenu.contextmenu.SubversionLink"): 155 content = SubversionLink(self.env).get_content(req, datapath?, stream, data) 156 if content: 157 stream |= Transformer("div[@id='content']/h1").after(content) 158 # No dir entries; we're showing a file 159 if not datadir?: 160 return stream Local variables: Name Value data {'all': <built-in function all>, 'pprint': <function pformat at ... filename 'browser.html' method 'xhtml' req <Request "GET '/browser'"> self <contextmenu.contextmenu.SourceBrowserContextMenu object at 0xafb4b6c> stream <genshi.core.Stream object at 0xab200cc>
  • File "build/bdist.linux-i686/egg/contextmenu/contextmenu.py", line 90, in get_content Code fragment: Line 85 else: 86 try: 87 path = entry.path 88 except AttributeError: 89 path = entrypath? 90 href = self.svn_base_url.rstrip('/') 91 if datareponame?: 92 href += '/' + datareponame? 93 href += '/' + path 94 return tag.a('Subversion', href=href) 95 Local variables: Name Value data {'all': <built-in function all>, 'pprint': <function pformat at ... entry '/' path '/' req <Request "GET '/browser'"> self <contextmenu.contextmenu.SubversionLink object at 0xad0c1cc> stream <genshi.core.Stream object at 0xab200cc>

File "build/bdist.linux-i686/egg/trac/web/main.py", line 513, in _dispatch_request

dispatcher.dispatch(req)

File "build/bdist.linux-i686/egg/trac/web/main.py", line 256, in dispatch

content_type)

File "build/bdist.linux-i686/egg/trac/web/chrome.py", line 816, in render_template

stream |= self._filter_stream(req, method, filename, stream, data)

File "/usr/lib/python2.5/site-packages/Genshi-0.6-py2.5.egg/genshi/core.py", line 132, in or

return Stream(_ensure(function(self)), serializer=self.serializer)

File "build/bdist.linux-i686/egg/trac/web/chrome.py", line 955, in inner

data)

File "build/bdist.linux-i686/egg/contextmenu/contextmenu.py", line 155, in filter_stream

content = SubversionLink(self.env).get_content(req, datapath?, stream, data)

File "build/bdist.linux-i686/egg/contextmenu/contextmenu.py", line 90, in get_content

href = self.svn_base_url.rstrip('/')

System Information: User Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.16) Gecko/20110102 Iceweasel/3.5.16 (like Firefox/3.5.16) Trac 0.12 Genshi 0.6 mod_wsgi 2.5 (WSGIProcessGroup WSGIApplicationGroup %{GLOBAL}) pysqlite 2.3.2 Python 2.5.2 (r252:60911, Jan 24 2010, 15:24:24) [GCC 4.3.2] setuptools 0.6c8 SQLite 3.7.3 Subversion 1.5.1 (r32289) jQuery 1.4.2

Change History (0)

Note: See TracTickets for help on using tickets.