From 31f907a15659d68a48175f447ab7f970d148a195 Mon Sep 17 00:00:00 2001 From: nitin kumar Date: Wed, 3 Feb 2016 14:08:15 +0530 Subject: [PATCH 1/2] encoding data otherwise getting exception ValueError: Unicode strings with encoding declaration are not supported --- ncclient/xml_.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ncclient/xml_.py b/ncclient/xml_.py index c511d380..6afd46c6 100644 --- a/ncclient/xml_.py +++ b/ncclient/xml_.py @@ -121,7 +121,7 @@ def validated_element(x, tags=None, attrs=None): Raises :exc:`XMLError` if the requirements are not met. """ - ele = to_ele(x) + ele = to_ele(x) if sys.version < '3' else to_ele(x.encode('UTF-8')) if tags: if isinstance(tags, (str, bytes)): tags = [tags] From ef06a22a3592caa1425dd8167fc967e059d04faf Mon Sep 17 00:00:00 2001 From: nitin kumar Date: Wed, 3 Feb 2016 14:49:47 +0530 Subject: [PATCH 2/2] passing raw data to function --- test/unit/test_xml_.py | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/test/unit/test_xml_.py b/test/unit/test_xml_.py index f083b06e..52818ecb 100644 --- a/test/unit/test_xml_.py +++ b/test/unit/test_xml_.py @@ -129,10 +129,7 @@ def test_validated_element_pass(self): device_handler = manager.make_device_handler(device_params) transform_reply = device_handler.transform_reply() result = NCElement(self.reply, transform_reply) - if sys.version >= '3': - result_xml = bytes(result.data_xml, "utf-8") - else: - result_xml = result.data_xml + result_xml = result.data_xml ele = validated_element( result_xml, tags=["rpc-reply", "rpc"], attrs=[["attrib1", "attrib2"]]) self.assertEqual(ele.tag, "rpc-reply") @@ -148,10 +145,7 @@ def test_validated_element_fail(self): transform_reply = device_handler.transform_reply() result = NCElement(self.reply, transform_reply) XMLError.message = "Element does not meet requirement" - if sys.version >= '3': - result_xml = bytes(result.data_xml, "utf-8") - else: - result_xml = result.data_xml + result_xml = result.data_xml with self.assertRaises(XMLError): validated_element( result_xml, tags=["rpc"], attrs=[["attrib1", "attrib2"]]) @@ -162,10 +156,7 @@ def test_validated_element_fail_2(self): transform_reply = device_handler.transform_reply() result = NCElement(self.reply, transform_reply) XMLError.message = "Element does not meet requirement" - if sys.version >= '3': - result_xml = bytes(result.data_xml, "utf-8") - else: - result_xml = result.data_xml + result_xml = result.data_xml with self.assertRaises(XMLError): validated_element( result_xml, @@ -182,9 +173,6 @@ def test_validated_element_fail_3(self): transform_reply = device_handler.transform_reply() result = NCElement(self.reply, transform_reply) XMLError.message = "Element does not meet requirement" - if sys.version >= '3': - result_xml = bytes(result.data_xml, "utf-8") - else: - result_xml = result.data_xml + result_xml = result.data_xml with self.assertRaises(XMLError): validated_element(result_xml, tags=["rpc"])