X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9b4e3f352b36dee39d7e451a6c9db90862f5563e..1e4a197e4c60e461b8068b0619692ea083e30b8b:/wxPython/samples/stxview/StructuredText/HTMLClass.py diff --git a/wxPython/samples/stxview/StructuredText/HTMLClass.py b/wxPython/samples/stxview/StructuredText/HTMLClass.py deleted file mode 100644 index 951aec4c97..0000000000 --- a/wxPython/samples/stxview/StructuredText/HTMLClass.py +++ /dev/null @@ -1,307 +0,0 @@ -############################################################################## -# -# Zope Public License (ZPL) Version 1.0 -# ------------------------------------- -# -# Copyright (c) Digital Creations. All rights reserved. -# -# This license has been certified as Open Source(tm). -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# 1. Redistributions in source code must retain the above copyright -# notice, this list of conditions, and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions, and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# -# 3. Digital Creations requests that attribution be given to Zope -# in any manner possible. Zope includes a "Powered by Zope" -# button that is installed by default. While it is not a license -# violation to remove this button, it is requested that the -# attribution remain. A significant investment has been put -# into Zope, and this effort will continue if the Zope community -# continues to grow. This is one way to assure that growth. -# -# 4. All advertising materials and documentation mentioning -# features derived from or use of this software must display -# the following acknowledgement: -# -# "This product includes software developed by Digital Creations -# for use in the Z Object Publishing Environment -# (http://www.zope.org/)." -# -# In the event that the product being advertised includes an -# intact Zope distribution (with copyright and license included) -# then this clause is waived. -# -# 5. Names associated with Zope or Digital Creations must not be used to -# endorse or promote products derived from this software without -# prior written permission from Digital Creations. -# -# 6. Modified redistributions of any form whatsoever must retain -# the following acknowledgment: -# -# "This product includes software developed by Digital Creations -# for use in the Z Object Publishing Environment -# (http://www.zope.org/)." -# -# Intact (re-)distributions of any official Zope release do not -# require an external acknowledgement. -# -# 7. Modifications are encouraged but must be packaged separately as -# patches to official Zope releases. Distributions that do not -# clearly separate the patches from the original work must be clearly -# labeled as unofficial distributions. Modifications which do not -# carry the name Zope may be packaged in any form, as long as they -# conform to all of the clauses above. -# -# -# Disclaimer -# -# THIS SOFTWARE IS PROVIDED BY DIGITAL CREATIONS ``AS IS'' AND ANY -# EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DIGITAL CREATIONS OR ITS -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# -# This software consists of contributions made by Digital Creations and -# many individuals on behalf of Digital Creations. Specific -# attributions are listed in the accompanying credits file. -# -############################################################################## - -from string import join, split, find -from cgi import escape -import re, sys, ST - -class HTMLClass: - - element_types={ - '#text': '_text', - 'StructuredTextDocument': 'document', - 'StructuredTextParagraph': 'paragraph', - 'StructuredTextExample': 'example', - 'StructuredTextBullet': 'bullet', - 'StructuredTextNumbered': 'numbered', - 'StructuredTextDescription': 'description', - 'StructuredTextDescriptionTitle': 'descriptionTitle', - 'StructuredTextDescriptionBody': 'descriptionBody', - 'StructuredTextSection': 'section', - 'StructuredTextSectionTitle': 'sectionTitle', - 'StructuredTextLiteral': 'literal', - 'StructuredTextEmphasis': 'emphasis', - 'StructuredTextStrong': 'strong', - 'StructuredTextLink': 'link', - 'StructuredTextXref': 'xref', - 'StructuredTextInnerLink':'innerLink', - 'StructuredTextNamedLink':'namedLink', - 'StructuredTextUnderline':'underline', - 'StructuredTextTable':'table', - 'StructuredTextSGML':'sgml', - } - - def dispatch(self, doc, level, output): - getattr(self, self.element_types[doc.getNodeName()])(doc, level, output) - - def __call__(self, doc, level=1): - r=[] - self.dispatch(doc, level-1, r.append) - return join(r,'') - - def _text(self, doc, level, output): - output(doc.getNodeValue()) - - def document(self, doc, level, output): - output('\n') - children=doc.getChildNodes() - if (children and - children[0].getNodeName() == 'StructuredTextSection'): - output('\n%s\n\n' % - children[0].getChildNodes()[0].getNodeValue()) - output('\n') - for c in children: - getattr(self, self.element_types[c.getNodeName()])(c, level, output) - output('\n') - output('\n') - - def section(self, doc, level, output): - children=doc.getChildNodes() - for c in children: - getattr(self, self.element_types[c.getNodeName()])(c, level+1, output) - - def sectionTitle(self, doc, level, output): - output('' % (level)) - for c in doc.getChildNodes(): - getattr(self, self.element_types[c.getNodeName()])(c, level, output) - output('\n' % (level)) - - def description(self, doc, level, output): - p=doc.getPreviousSibling() - if p is None or p.getNodeName() is not doc.getNodeName(): - output('
\n') - for c in doc.getChildNodes(): - getattr(self, self.element_types[c.getNodeName()])(c, level, output) - n=doc.getNextSibling() - if n is None or n.getNodeName() is not doc.getNodeName(): - output('
\n') - - def descriptionTitle(self, doc, level, output): - output('
') - for c in doc.getChildNodes(): - getattr(self, self.element_types[c.getNodeName()])(c, level, output) - output('
\n') - - def descriptionBody(self, doc, level, output): - output('
') - for c in doc.getChildNodes(): - getattr(self, self.element_types[c.getNodeName()])(c, level, output) - output('
\n') - - def bullet(self, doc, level, output): - p=doc.getPreviousSibling() - if p is None or p.getNodeName() is not doc.getNodeName(): - output('\n\n') - - def numbered(self, doc, level, output): - p=doc.getPreviousSibling() - if p is None or p.getNodeName() is not doc.getNodeName(): - output('\n
    \n') - output('
  1. ') - for c in doc.getChildNodes(): - getattr(self, self.element_types[c.getNodeName()])(c, level, output) - n=doc.getNextSibling() - output('
  2. \n') - if n is None or n.getNodeName() is not doc.getNodeName(): - output('\n
\n') - - def example(self, doc, level, output): - i=0 - for c in doc.getChildNodes(): - if i==0: - output('\n
\n')
-                output(escape(c.getNodeValue()))
-                output('\n
\n') - else: - getattr(self, self.element_types[c.getNodeName()])( - c, level, output) - - def paragraph(self, doc, level, output): - i=0 - output('

') - for c in doc.getChildNodes(): - if c.getNodeName() in ['StructuredTextParagraph']: - getattr(self, self.element_types[c.getNodeName()])( - c, level, output) - else: - getattr(self, self.element_types[c.getNodeName()])( - c, level, output) - output('

\n') - - def link(self, doc, level, output): - output('' % doc.href) - for c in doc.getChildNodes(): - getattr(self, self.element_types[c.getNodeName()])(c, level, output) - output('') - - def emphasis(self, doc, level, output): - output('') - for c in doc.getChildNodes(): - getattr(self, self.element_types[c.getNodeName()])(c, level, output) - output('') - - def literal(self, doc, level, output): - output('') - for c in doc.getChildNodes(): - output(escape(c.getNodeValue())) - output('') - - def strong(self, doc, level, output): - output('') - for c in doc.getChildNodes(): - getattr(self, self.element_types[c.getNodeName()])(c, level, output) - output('') - - def underline(self, doc, level, output): - output("") - for c in doc.getChildNodes(): - getattr(self, self.element_types[c.getNodeName()])(c, level, output) - output("") - - def innerLink(self, doc, level, output): - output('[') - for c in doc.getChildNodes(): - getattr(self, self.element_types[c.getNodeName()])(c, level, output) - output(']') - - def namedLink(self, doc, level, output): - output('[') - for c in doc.getChildNodes(): - getattr(self, self.element_types[c.getNodeName()])(c, level, output) - output(']') - - def sgml(self,doc,level,output): - for c in doc.getChildNodes(): - getattr(self, self.element_types[c.getNodeName()])(c, level, output) - - def xref(self, doc, level, output): - val = doc.getNodeValue() - output('[%s]' % (val, val) ) - - def table(self,doc,level,output): - """ - A StructuredTextTable holds StructuredTextRow(s) which - holds StructuredTextColumn(s). A StructuredTextColumn - is a type of StructuredTextParagraph and thus holds - the actual data. - """ - output("\n") - for row in doc.getRows()[0]: - output("\n") - for column in row.getColumns()[0]: - if hasattr(column,"getAlign"): - str = "<%s colspan=%s align=%s valign=%s>" % (column.getType(), - column.getSpan(), - column.getAlign(), - column.getValign()) - else: - str = "\n") - output("\n") - output("
" % column.getSpan() - output(str) - for c in column.getChildNodes(): - getattr(self, self.element_types[c.getNodeName()])(c, level, output) - if hasattr(column,"getType"): - output("\n") - else: - output("
\n") - - - - -