Peter's Blog

Redefining the Impossible

PyDS and Gentoo


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.partspart = ''.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:

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.partspart = ''.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:

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.partspart = ''.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:

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.partspart = ''.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:

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.partspart = ''.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:

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.partspart = ''.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       toolHasSigtool = 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.

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.partspart = ''.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 =&nbs

Filed under: baby gentoo linux pyds python

Comments are Closed