#
# withAttribute.py
# Copyright, 2007 - Paul McGuire
#
# Simple example of using withAttribute parse action helper
# to define
#
data = """\
49.950 |
50.950 |
51.950 |
"""
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(" ")
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)