fix from_xml: return python dictionary (#361)
* removed the in between json conversion, now function returns python dict, changed unit tests to check against the dict. * remove the json import * changelog added * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * changed changelog to minor --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Ruchi Pakhle <72685035+Ruchip16@users.noreply.github.com> Co-authored-by: Nilashish Chakraborty <nilashishchakraborty8@gmail.com>pull/363/head
parent
8cba2c3b9e
commit
540e0d8963
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
minor_changes:
|
||||||
|
- The from_xml filter returns a python dictionary instead of a json string.
|
|
@ -13,8 +13,6 @@ from __future__ import absolute_import, division, print_function
|
||||||
|
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
import json
|
|
||||||
|
|
||||||
from ansible.errors import AnsibleFilterError
|
from ansible.errors import AnsibleFilterError
|
||||||
|
|
||||||
|
|
||||||
|
@ -46,7 +44,7 @@ def from_xml(data, engine):
|
||||||
if not HAS_XMLTODICT:
|
if not HAS_XMLTODICT:
|
||||||
_raise_error("Missing required library xmltodict")
|
_raise_error("Missing required library xmltodict")
|
||||||
try:
|
try:
|
||||||
res = json.dumps(xmltodict.parse(data))
|
res = xmltodict.parse(data)
|
||||||
except Exception:
|
except Exception:
|
||||||
_raise_error("Input Xml is not valid")
|
_raise_error("Input Xml is not valid")
|
||||||
return res
|
return res
|
||||||
|
|
|
@ -22,8 +22,12 @@ VALID_DATA = (
|
||||||
"<schemas><schema/></schemas></netconf-state>"
|
"<schemas><schema/></schemas></netconf-state>"
|
||||||
)
|
)
|
||||||
|
|
||||||
OUTPUT = """{"netconf-state": \
|
OUTPUT = {
|
||||||
{"@xmlns": "urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring", "schemas": {"schema": null}}}"""
|
"netconf-state": {
|
||||||
|
"@xmlns": "urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring",
|
||||||
|
"schemas": {"schema": None},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class TestFromXml(TestCase):
|
class TestFromXml(TestCase):
|
||||||
|
|
Loading…
Reference in New Issue