| I've tried the Python Desktop Server package in Gentoo and had problems with the Wiki. Trying to look at a Wiki entry would give an error like this: 
Exception exceptions.AttributeError: HTMLFragmentWriter instance has no attribute 'visitor'
File                 Line      Function         Source
Tool.py              935       process_request  s = getattr(tool,meth)(req)
WikiTool.py          376       show_html        homeTool = self)
Tool.py              744       renderText       homeTool=kw.get('homeTool')
StructuredText.py    201       renderText       settings_overrides={
core.py              382       publish_string   return pub.publish(enable_exit=enable_exit)
core.py              186       publish          self.writer.assemble_parts()
html4css1.py         115       assemble_parts   self.parts[part] = ''.join(getattr(self.visitor, part))
(note that I had to force traceback dumping in docutils to get this much detail. I did this by adding self.settings.traceback = 1 to publisher.publish). Poking around, the problem appears to be with the new version of docutils (which appears to be dev-python/docutils-0.3-r1 [0.3.3]). The problem is that the code in html4css1.Writer.Translate has changed from: 
def translate(self):visitor = self.translator_class(self.document)
 self.document.walkabout(visitor)
 self.output = visitor.astext()
 self.head_prefix = visitor.head_prefix
 self.stylesheet = visitor.stylesheet
 self.head = visitor.head
 self.body_prefix = visitor.body_prefix
 self.body_pre_docinfo = visitor.body_pre_docinfo
 self.docinfo = visitor.docinfo
 self.body = visitor.body
 self.body_suffix = visitor.body_suffix
 to: 
def translate(self):visitor = self.translator_class(self.document)
 self.document.walkabout(visitor)
 self.output = visitor.astext()
 self.visitor = visitor
 for attr in ('head_prefix', 'stylesheet', 'head', 'body_prefix',
 'body_pre_docinfo', 'docinfo', 'body', 'fragment',
 'body_suffix'):
 setattr(self, attr, getattr(visitor, attr))
 Hidden in the new form is the line: 
self.visitor = visitor
 This is not being done in the PyDS version of this function HTMLFragmentWriter.translate: 
def translate(self):visitor = self.translator_class(self.document,
 section_level=self.section_level,
 suppress_paragraphs=self.suppress_paragraphs
 )
 self.document.walkabout(visitor)
 self.output = visitor.astext()
 self.head_prefix = visitor.head_prefix
 self.head = visitor.head
 self.body_prefix = visitor.body_prefix
 self.body = visitor.body
 self.body_suffix = visitor.body_suffix
 Adding the following line: 
self.visitor = visitor
 to this seems to fix the Wiki problem. Sorry for lack of diffs, patches or whatever. I'm taking baby steps in OSS development. The Mesh tool is still broken. It gives: 
Exception exceptions.KeyError: '__hash__'
File             Line  Function         Source
Tool.py          915   process_request  s = tool.index_html(req)
MeshTool.py      855   index_html       toolHasSig[tool] = False
NuggetsTool.py   263   __getattr__      else: raise KeyError(name)
 I may look into this some other time. I don't use the mesh tool as I'm not sure what it does. 
 |