* at least get the normal members right

This commit is contained in:
Eray Özkural
2005-09-28 12:43:36 +00:00
parent 41b6083a8d
commit d089a0a592
2 changed files with 21 additions and 21 deletions
+19 -18
View File
@@ -210,11 +210,10 @@ class autoxml(type):
cls.decode = decode cls.decode = decode
cls.encoders = encoders cls.encoders = encoders
def encode(self, xml): def encode(self, xml, node):
node = xml.newNode(cls.tag)
for encode_member in self.__class__.encoders: for encode_member in self.__class__.encoders:
encode_member(self, xml, node) encode_member(self, xml, node)
return node return
cls.encode = encode cls.encode = encode
cls.formatters = formatters cls.formatters = formatters
@@ -299,12 +298,13 @@ class autoxml(type):
value = getattr(self, name) value = getattr(self, name)
else: else:
value = None value = None
newnode = encode_a(xml, value) encode_a(xml, node, value)
if newnode: #newnode =
mergetext(node, newnode) #if newnode:
else: # mergetext(node, newnode)
if req == mandatory: #else:
raise Error('Mandatory variable %s not available' % name) # if req == mandatory:
# raise Error('Mandatory variable %s not available' % name)
def format(self): def format(self):
@@ -375,10 +375,10 @@ class autoxml(type):
else: else:
return None return None
def encode(xml, value): def encode(xml, node, value):
"""encode given value inside DOM node""" """encode given value inside DOM node"""
if value: if value:
node = createnode(xml, token) #node = createnode(xml, token)
writetext(xml, node, token, str(value)) writetext(xml, node, token, str(value))
return node return node
else: else:
@@ -416,10 +416,10 @@ class autoxml(type):
else: else:
return None return None
def encode(xml, obj): def encode(xml, node, obj):
if obj: if obj:
try: try:
node = obj.encode(xml) node = obj.encode(xml, node)
#FIXME: change node's tag? #FIXME: change node's tag?
return return
except Error: except Error:
@@ -460,13 +460,14 @@ class autoxml(type):
l.append(decode_item(dummy)) l.append(decode_item(dummy))
return l return l
def encode(xml, l): def encode(xml, node, l):
dummy = xml.newNode("Dummy") listnode = xml.newNode(tag)
if len(l) > 0: if len(l) > 0:
for item in l: for item in l:
item_node = encode_item(xml, item) encode_item(xml, listnode, item)
xml.addNodeUnder(dummy, comp_tag, item_node) #item_node = encode_item(xml, item)
return getNode(dummy, "Dummy") #xml.addNodeUnder(listnode, comp_tag, item_node)
#return getNode(dummy, "Dummy")
else: else:
if req is mandatory: if req is mandatory:
raise Error('Mandatory list empty') raise Error('Mandatory list empty')
+2 -3
View File
@@ -57,9 +57,8 @@ class XmlFileTestCase(unittest.TestCase):
#self.assert_(string.startswith('Name')) #self.assert_(string.startswith('Name'))
xml = xmlfile.XmlFile('A') xml = xmlfile.XmlFile('A')
xml.newDOM() xml.newDOM()
node = a.encode(xml) a.encode(xml, xml.rootNode())
print 'allah', node #xml.rootNode().appendChild(node)
xml.rootNode().appendChild(node)
xml.writexml('/tmp/a.xml') xml.writexml('/tmp/a.xml')
print '/tmp/a.xml written' print '/tmp/a.xml written'
return return