Hello I have the following code:
#### builder.py ######### class HtmlBuilder(object): @staticmethod def page(title=''): return HtmlPage(title) @staticmethod def element(tag, text=None, **attribs): return HtmlElement(tag, text, **attribs) @staticmethod def literal(text): return HtmlLiteral(text) class HtmlElementFactory(object): def __init__(self): for tag in ['li', 'ul']: setattr( self, tag, HtmlBuilder.element(tag) ) ######################### and so I can do the following: html = HtmlElementFactory() ul = html.ul ul.attrib['class'] = 'default' for i in range(3): li = html.li li.text = 'ghfhj' ul.append(li) print ul.to_string() but what I'd like to do is: html = HtmlElementFactory() ul = html.ul( class='default' ) for i in range(3): ul.append( html.li( 'ghfhj' ) print ul.to_string() ie. to pass along *args and **kwargs to the HtmlElement constructor. Any suggestions? Or is there a better way to this kind of thing? thanks Gerard -- http://mail.python.org/mailman/listinfo/python-list