Skip to content

Commit ea5f8fc

Browse files
authored
Merge pull request #90 from YJDave/xml
Remove bug from xmlToJson method.
2 parents 2eda64e + 0213712 commit ea5f8fc

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

loklak.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import re
99
import requests
1010
from xmljson import badgerfish as bf
11+
import lxml.etree as et
1112
from json import dumps
1213
import csv
1314

@@ -72,9 +73,9 @@ def status(self, status_application='api/status.json'):
7273

7374
def xmlToJson(self, xmlData = None):
7475
"""Convert XML to JSON as the service."""
75-
jsonData = ''
76+
jsonData = '[]'
7677
if xmlData:
77-
jsonData = dumps(bf.data(fromstring(xmlData)))
78+
jsonData = dumps(bf.data(et.fromstring(xmlData)))
7879
return jsonData
7980

8081
def csvToJson(self, csvData = None, fieldnamesList = None):

requirements.txt

+1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
requests==2.16.0
22
xmljson==0.1.9
3+
lxml==4.1.1

tests/test.py

+9-4
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,15 @@ def test_hello(self):
3737
result = self.loklak.hello()
3838
self.assertEqual(result['status'], u'ok')
3939

40-
def test_getBaseUrl(self):
41-
"""Test base url."""
42-
result = self.loklak.getBaseUrl()
43-
self.assertEqual(result, self.baseUrl)
40+
def test_xmlToJson(self):
41+
"""Test xmlToJson method."""
42+
xmlData = "<note>\n<to>Coders</to>\n<from>FOSSASIA</from>\n<heading>FOSSASIA</heading> \
43+
\n<body>Let's code!!</body>\n</note>"
44+
expectedJSONData = '{"note": {"to": {"$": "Coders"}, "from": {"$": "FOSSASIA"}, "heading": {"$": "FOSSASIA"}, "body": {"$": "Let\'s code!!"}}}'
45+
result = self.loklak.xmlToJson(xmlData)
46+
self.assertEqual(result, expectedJSONData)
47+
result = self.loklak.xmlToJson()
48+
self.assertEqual(result, "[]")
4449

4550
def test_geocode(self):
4651
"""Test geological features."""

0 commit comments

Comments
 (0)