[Docstring-checkins] CVS: dps/dps/writers html.py,1.14,1.15
Status: Pre-Alpha
Brought to you by:
goodger
From: David G. <go...@us...> - 2002-03-28 04:41:07
|
Update of /cvsroot/docstring/dps/dps/writers In directory usw-pr-cvs1:/tmp/cvs-serv17077/dps/dps/writers Modified Files: html.py Log Message: many improvements Index: html.py =================================================================== RCS file: /cvsroot/docstring/dps/dps/writers/html.py,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** html.py 16 Mar 2002 05:53:22 -0000 1.14 --- html.py 28 Mar 2002 04:41:03 -0000 1.15 *************** *** 17,22 **** __docformat__ = 'reStructuredText' - __all__ = ['Writer'] - import time --- 17,20 ---- *************** *** 53,56 **** --- 51,55 ---- self.sectionlevel = 0 self.context = [] + self.topic_class = '' def astext(self): *************** *** 68,72 **** atts = {} for (name, value) in attributes.items(): ! atts[name.lower()] = value for att in ('class',): # append to node attribute if node.has_key(att): --- 67,71 ---- atts = {} for (name, value) in attributes.items(): ! atts[name] = value for att in ('class',): # append to node attribute if node.has_key(att): *************** *** 78,86 **** attlist = atts.items() attlist.sort() ! return '<%s>%s' % (' '.join([tagname.upper()] ! + ['%s="%s"' % (name.upper(), ! self.encode(str(value))) ! for name, value in attlist]), ! suffix) def visit_Text(self, node): --- 77,92 ---- attlist = atts.items() attlist.sort() ! parts = [tagname.upper()] ! for name, value in attlist: ! if value is None: # boolean attribute ! parts.append(name.upper()) ! elif isinstance(value, ListType): ! values = [str(v) for v in value] ! parts.append('%s="%s"' % (name.upper(), ! self.encode(' '.join(values)))) ! else: ! parts.append('%s="%s"' % (name.upper(), ! self.encode(str(value)))) ! return '<%s>%s' % (' '.join(parts), suffix) def visit_Text(self, node): *************** *** 92,96 **** def visit_admonition(self, node, name): self.body.append(self.starttag(node, 'div', CLASS=name)) ! self.body.append('<H3>' + self.language.labels[name] + '</H3>\n') def depart_admonition(self): --- 98,102 ---- def visit_admonition(self, node, name): self.body.append(self.starttag(node, 'div', CLASS=name)) ! self.body.append('<P CLASS="admonition-title">' + self.language.labels[name] + '</P>\n') def depart_admonition(self): *************** *** 122,126 **** def visit_bullet_list(self, node): ! self.body.append(self.starttag(node, 'ul')) def depart_bullet_list(self, node): --- 128,135 ---- def visit_bullet_list(self, node): ! if self.topic_class == 'contents': ! self.body.append(self.starttag(node, 'ul', compact=None)) ! else: ! self.body.append(self.starttag(node, 'ul')) def depart_bullet_list(self, node): *************** *** 152,159 **** def visit_citation_reference(self, node): ! href = '' ! if node.has_key('refname'): ! href = '#' + self.doctree.nameids[node['refname']] ! self.body.append(self.starttag(node, 'a', '[', href=href, CLASS='citation-reference')) --- 161,168 ---- def visit_citation_reference(self, node): ! #href = '' ! #if node.has_key('refname'): ! # href = '#' + self.doctree.nameids[node['refname']] ! self.body.append(self.starttag(node, 'a', '[', href=node['refid'], CLASS='citation-reference')) *************** *** 265,272 **** def depart_document(self, node): self.body.append('</DIV>\n') ! self.body.append( ! '<P CLASS="credits">HTML generated from <CODE>%s</CODE> on %s ' ! 'by <A HREF="http://docutils.sourceforge.net/">Docutils</A>.' ! '</P>\n' % (node['source'], time.strftime('%Y-%m-%d'))) def visit_emphasis(self, node): --- 274,281 ---- def depart_document(self, node): self.body.append('</DIV>\n') ! #self.body.append( ! # '<P CLASS="credits">HTML generated from <CODE>%s</CODE> on %s ' ! # 'by <A HREF="http://docutils.sourceforge.net/">Docutils</A>.' ! # '</P>\n' % (node['source'], time.strftime('%Y-%m-%d'))) def visit_emphasis(self, node): *************** *** 379,388 **** def visit_footnote_reference(self, node): ! href = '' ! if node.has_key('refid'): ! href = '#' + node['refid'] ! elif node.has_key('refname'): ! href = '#' + self.doctree.nameids[node['refname']] ! self.body.append(self.starttag(node, 'a', '', href=href, CLASS='footnote-reference')) --- 388,397 ---- def visit_footnote_reference(self, node): ! #href = '' ! #if node.has_key('refid'): ! # href = '#' + node['refid'] ! #elif node.has_key('refname'): ! # href = '#' + self.doctree.nameids[node['refname']] ! self.body.append(self.starttag(node, 'a', '', href=node['refid'], CLASS='footnote-reference')) *************** *** 549,552 **** --- 558,562 ---- href = node['refuri'] elif node.has_key('refid'): + #else: href = '#' + node['refid'] elif node.has_key('refname'): *************** *** 598,605 **** def visit_substitution_reference(self, node): ! pass ! ! def depart_substitution_reference(self, node): ! pass def visit_subtitle(self, node): --- 608,612 ---- def visit_substitution_reference(self, node): ! self.unimplemented_visit(node) def visit_subtitle(self, node): *************** *** 613,622 **** raise nodes.SkipNode self.body.append(self.starttag(node, 'div', CLASS='system-message')) if node.hasattr('refid'): ! self.body.append('<H3><A HREF="#%s">%s</A> ' ! '(level %s system message)</H3>\n' % (node['refid'], node['type'], node['level'])) else: ! self.body.append('<H3>%s (level %s system message)</H3>\n' % (node['type'], node['level'])) --- 620,630 ---- raise nodes.SkipNode self.body.append(self.starttag(node, 'div', CLASS='system-message')) + self.body.append('<P CLASS="system-message-title">') if node.hasattr('refid'): ! self.body.append('<A HREF="#%s">%s</A> ' ! '(level %s system message)</P>\n' % (node['refid'], node['type'], node['level'])) else: ! self.body.append('%s (level %s system message)</P>\n' % (node['type'], node['level'])) *************** *** 635,641 **** or node.has_key('refname')): self.body.append(self.starttag(node, 'a', '', CLASS='target')) def depart_target(self, node): ! self.body.append('</A>') def visit_tbody(self, node): --- 643,652 ---- or node.has_key('refname')): self.body.append(self.starttag(node, 'a', '', CLASS='target')) + self.context.append('</A>') + else: + self.context.append('') def depart_target(self, node): ! self.body.append(self.context.pop()) def visit_tbody(self, node): *************** *** 702,708 **** --- 713,722 ---- def visit_topic(self, node): self.body.append(self.starttag(node, 'div', CLASS='topic')) + if node.hasattr('class'): + self.topic_class = topic['class'] def depart_topic(self, node): self.body.append('</DIV>\n') + self.topic_class = '' def visit_transition(self, node): *************** *** 723,724 **** --- 737,742 ---- def depart_warning(self, node): self.depart_admonition() + + def unimplemented_visit(self, node): + raise NotImplementedError('visiting unimplemented node type: %s' + % node.__class__.__name__) |