summaryrefslogtreecommitdiffstats
path: root/python/astra/utils.pyx
diff options
context:
space:
mode:
Diffstat (limited to 'python/astra/utils.pyx')
-rw-r--r--python/astra/utils.pyx29
1 files changed, 10 insertions, 19 deletions
diff --git a/python/astra/utils.pyx b/python/astra/utils.pyx
index 0439f1b..8f1e0b7 100644
--- a/python/astra/utils.pyx
+++ b/python/astra/utils.pyx
@@ -80,9 +80,9 @@ def wrap_from_bytes(value):
return s
-cdef void readDict(XMLNode * root, _dc):
- cdef XMLNode * listbase
- cdef XMLNode * itm
+cdef void readDict(XMLNode root, _dc):
+ cdef XMLNode listbase
+ cdef XMLNode itm
cdef int i
cdef int j
@@ -102,34 +102,29 @@ cdef void readDict(XMLNode * root, _dc):
itm.addAttribute(< string > six.b('index'), < float32 > index)
itm.addAttribute( < string > six.b('value'), < float32 > val[i, j])
index += 1
- del itm
elif val.ndim == 1:
for i in range(val.shape[0]):
itm = listbase.addChildNode(six.b('ListItem'))
itm.addAttribute(< string > six.b('index'), < float32 > index)
itm.addAttribute(< string > six.b('value'), < float32 > val[i])
index += 1
- del itm
else:
raise Exception("Only 1 or 2 dimensions are allowed")
- del listbase
elif isinstance(val, dict):
if item == six.b('option') or item == six.b('options') or item == six.b('Option') or item == six.b('Options'):
readOptions(root, val)
else:
itm = root.addChildNode(item)
readDict(itm, val)
- del itm
else:
if item == six.b('type'):
root.addAttribute(< string > six.b('type'), <string> wrap_to_bytes(val))
else:
itm = root.addChildNode(item, wrap_to_bytes(val))
- del itm
-cdef void readOptions(XMLNode * node, dc):
- cdef XMLNode * listbase
- cdef XMLNode * itm
+cdef void readOptions(XMLNode node, dc):
+ cdef XMLNode listbase
+ cdef XMLNode itm
cdef int i
cdef int j
for item in dc:
@@ -150,17 +145,14 @@ cdef void readOptions(XMLNode * node, dc):
itm.addAttribute(< string > six.b('index'), < float32 > index)
itm.addAttribute( < string > six.b('value'), < float32 > val[i, j])
index += 1
- del itm
elif val.ndim == 1:
for i in range(val.shape[0]):
itm = listbase.addChildNode(six.b('ListItem'))
itm.addAttribute(< string > six.b('index'), < float32 > index)
itm.addAttribute(< string > six.b('value'), < float32 > val[i])
index += 1
- del itm
else:
raise Exception("Only 1 or 2 dimensions are allowed")
- del listbase
else:
node.addOption(item, wrap_to_bytes(val))
@@ -214,10 +206,10 @@ def stringToPythonValue(inputIn):
return str(input)
-cdef XMLNode2dict(XMLNode * node):
- cdef XMLNode * subnode
- cdef list[XMLNode * ] nodes
- cdef list[XMLNode * ].iterator it
+cdef XMLNode2dict(XMLNode node):
+ cdef XMLNode subnode
+ cdef list[XMLNode] nodes
+ cdef list[XMLNode].iterator it
dct = {}
opts = {}
if node.hasAttribute(six.b('type')):
@@ -230,7 +222,6 @@ cdef XMLNode2dict(XMLNode * node):
opts[castString(subnode.getAttribute('key'))] = stringToPythonValue(subnode.getAttribute('value'))
else:
dct[castString(subnode.getName())] = stringToPythonValue(subnode.getContent())
- del subnode
inc(it)
if len(opts)>0: dct['options'] = opts
return dct