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