summaryrefslogtreecommitdiff
path: root/ekhtml/testsuite/pyparser.py
diff options
context:
space:
mode:
Diffstat (limited to 'ekhtml/testsuite/pyparser.py')
-rw-r--r--ekhtml/testsuite/pyparser.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/ekhtml/testsuite/pyparser.py b/ekhtml/testsuite/pyparser.py
new file mode 100644
index 0000000..a96d999
--- /dev/null
+++ b/ekhtml/testsuite/pyparser.py
@@ -0,0 +1,44 @@
+#! /usr/bin/env python
+
+import ek_sgmllib, sys, string
+
+class myparser(ek_sgmllib.SGMLParser):
+ def __init__(self):
+ ek_sgmllib.SGMLParser.__init__(self)
+
+ def handle_data(self, data):
+ sys.stdout.write(data)
+
+ def start_way(self, attrs):
+ print 'GOT WAY START!'
+
+ def unknown_starttag(self, tag, attrs):
+ print 'START: "%s"' % tag
+ for i in range(len(attrs) - 1, -1, -1):
+ key, val = attrs[i]
+ print 'ATTRIBUTE: "%s" = "%s"' % (key, val)
+
+ def unknown_endtag(self, tag):
+ print 'END: "%s"' % tag
+
+ def handle_comment(self, comment):
+ print 'COMMENT: "%s"' % comment
+
+ def handle_entityref(self, name):
+ self.handle_data('&' + name + ';')
+
+ def handle_charref(self, name):
+ self.handle_data('&#' + name + ';')
+
+def testit(data):
+ x = myparser()
+ x.feed(data)
+ x.close()
+
+if __name__ == '__main__':
+ if len(sys.argv) == 1:
+ f = sys.stdin
+ else:
+ f = open(sys.argv[1])
+
+ testit(f.read())