summaryrefslogtreecommitdiff
path: root/src/examples/withAttribute.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/examples/withAttribute.py')
-rw-r--r--src/examples/withAttribute.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/examples/withAttribute.py b/src/examples/withAttribute.py
new file mode 100644
index 0000000..af7edf3
--- /dev/null
+++ b/src/examples/withAttribute.py
@@ -0,0 +1,24 @@
+#
+# withAttribute.py
+# Copyright, 2007 - Paul McGuire
+#
+# Simple example of using withAttribute parse action helper
+# to define
+#
+data = """\
+ <td align=right width=80><font size=2 face="New Times Roman,Times,Serif">&nbsp;49.950&nbsp;</font></td>
+ <td align=left width=80><font size=2 face="New Times Roman,Times,Serif">&nbsp;50.950&nbsp;</font></td>
+ <td align=right width=80><font size=2 face="New Times Roman,Times,Serif">&nbsp;51.950&nbsp;</font></td>
+ """
+
+from pyparsing import *
+
+tdS,tdE = makeHTMLTags("TD")
+fontS,fontE = makeHTMLTags("FONT")
+realNum = Combine( Word(nums) + "." + Word(nums) ).setParseAction(lambda t:float(t[0]))
+NBSP = Literal("&nbsp;")
+patt = tdS + fontS + NBSP + realNum("value") + NBSP + fontE + tdE
+
+tdS.setParseAction( withAttribute(align="right",width="80") )
+for s in patt.searchString(data):
+ print s.value