Hello all Could anyone shed any light on the following Exception? The code which caused it is below. Uncommenting the 'super' call in 'XmlNode' gives the same error. If I make XmlNode a subclass of 'object' rather than 'list' then the code will run.
Thanks in advance. Exception: Traceback (most recent call last): File "C:\Program Files\Python\Python24\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 310, in RunScript exec codeObject in __main__.__dict__ File "C:\Documents and Settings\Gerard\My Documents\Scripts\Python\XmlNode\XmlNode.py", line 5, in ? class XmlNode(list): TypeError: Error when calling the metaclass bases __init__() takes at most 2 arguments (4 given) Code: from elementtree.SimpleXMLWriter import XMLWriter class XmlNode(list): tag = None attrib = None value = None def __init__(self, tag, **attrib): #super(list, self).__init__() self.tag = tag self.attrib = attrib def __repr__(self): return "<XmlNode %s at %x>" % (self.tag, id(self)) def write(self, writer): writer.start(self.tag, self.attrib) if self.value is not None: writer.data(self.value) ## for node in self: ## node.write(writer) writer.end() class HtmlElement(XmlNode): def __init__(self, tag, value='', **attrib): super(HtmlElement, self).__init__(tag=tag, **attrib) self.value = value class li(HtmlElement): def __init__(self, value=None, **attrib): super(li, self).__init__(tag='li', **attrib) class ul(HtmlElement): def __init__(self, **attrib): super(ul, self).__init__(tag='ul', **attrib) if __name__ == '__main__': from StringIO import StringIO item = li('item') items = ul() #items.apppend(item) out = StringIO() writer = XMLWriter(out) items.write(writer) print print out.getvalue() out.close() -- http://mail.python.org/mailman/listinfo/python-list