* at least get the normal members right
This commit is contained in:
+19
-18
@@ -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')
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user