From 90c4ba578520b56f7313ba0855ccd2102e924ced Mon Sep 17 00:00:00 2001 From: Tomas Pecka <peckato1@fit.cvut.cz> Date: Wed, 28 Jun 2017 13:40:33 +0200 Subject: [PATCH] Fix parsing BooleanField and XLinks --- kosapi/parser/field_visitor.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/kosapi/parser/field_visitor.py b/kosapi/parser/field_visitor.py index 1d529c2..d940c53 100644 --- a/kosapi/parser/field_visitor.py +++ b/kosapi/parser/field_visitor.py @@ -43,9 +43,12 @@ class XMLFieldParserVisitor(visitor.Visitor): return int(etree_node.text) def visit_BooleanField(self, field, etree_node): - if etree_node.text not in ['true', 'false']: + if etree_node.text == 'true': + return True + elif etree_node.text == 'false': + return False + else: raise ValueError - return bool(etree_node.text.capitalize()) def visit_StringField(self, field, etree_node): return etree_node.text @@ -71,7 +74,7 @@ class XMLFieldParserVisitor(visitor.Visitor): def visit_XLinkField(self, field, etree_node): return XLinkFieldProxy(remove_namespace_from_string(etree_node.tag, NSMAP), etree_node.text, - get_attr_namespace(etree_node, "link", "xlink", NSMAP)) + get_attr_namespace(etree_node, "href", "xlink", NSMAP)) def visit_XLinkListField(self, field, etree_node): if field._nested is True: @@ -79,9 +82,9 @@ class XMLFieldParserVisitor(visitor.Visitor): for child in etree_node: ret.append(XLinkFieldProxy(remove_namespace_from_string(child.tag, NSMAP), child.text, - get_attr_namespace(child, "link", "xlink", NSMAP))) + get_attr_namespace(child, "href", "xlink", NSMAP))) return ret else: return [XLinkFieldProxy(remove_namespace_from_string(etree_node.tag, NSMAP), etree_node.text, - get_attr_namespace(etree_node, "link", "xlink", NSMAP))] \ No newline at end of file + get_attr_namespace(etree_node, "href", "xlink", NSMAP))] \ No newline at end of file -- GitLab