1
1
#! /usr/bin/env python
2
2
import argparse
3
+ import json
3
4
import sys
4
- import requests
5
- import simplejson
5
+
6
6
import dict2xml
7
- import json
8
- from bs4 import BeautifulSoup
7
+ import requests
9
8
10
9
11
10
class Json2xml (object ):
@@ -32,7 +31,7 @@ def __init__(self, data: str) -> None:
32
31
def fromjsonfile (cls , filename : str ):
33
32
try :
34
33
json_data = open (filename )
35
- data = simplejson .load (json_data )
34
+ data = json .load (json_data )
36
35
json_data .close ()
37
36
except IOError as e :
38
37
print ("I/O error({0}): {1}" .format (e .errno , e .strerror ))
@@ -46,8 +45,8 @@ def fromjsonfile(cls, filename: str):
46
45
#
47
46
# ---------------------------------
48
47
@classmethod
49
- def fromurl (cls , url : str ):
50
- response = requests .get (url )
48
+ def fromurl (cls , url : str , params = None ):
49
+ response = requests .get (url , params = params )
51
50
if response .status_code == 200 :
52
51
return cls (response .json ())
53
52
else :
@@ -75,9 +74,8 @@ def fromstring(cls, data: str):
75
74
# ---------------------------------
76
75
def json2xml (self ):
77
76
if self .data :
78
- xmldata = dict2xml .dict2xml (self .data )
79
- xml = BeautifulSoup (xmldata , "html.parser" )
80
- return xml
77
+ xmldata = dict2xml .dict2xml (self .data , wrap = "all" , indent = " " )
78
+ return xmldata
81
79
82
80
83
81
def main (argv = None ):
@@ -90,17 +88,17 @@ def main(argv=None):
90
88
if args .url :
91
89
url = args .url
92
90
data = Json2xml .fromurl (url )
93
- print ( Json2xml .json2xml (data ) )
91
+ return Json2xml .json2xml (data )
94
92
95
93
if args .file :
96
94
file = args .file
97
95
data = Json2xml .fromjsonfile (file )
98
- print ( Json2xml .json2xml (data ) )
96
+ return Json2xml .json2xml (data )
99
97
100
98
if args .data :
101
99
str_data = args .data
102
100
data = Json2xml .fromstring (str_data )
103
- print ( Json2xml .json2xml (data ) )
101
+ return Json2xml .json2xml (data )
104
102
105
103
if __name__ == "__main__" :
106
104
main (sys .argv )
0 commit comments