Loading utils/xml_to_json.py +29 −5 Original line number Original line Diff line number Diff line import xmltodict import sys import sys import logging from pprint import pprint from pprint import pprint import json import json from pathlib import Path from pathlib import Path import fileinput import xmltodict import argparse def extract_prefixes (d): def extract_prefixes (d): Loading @@ -26,12 +30,32 @@ def removePrefixes (o, prefixes): o[r[1]] = o.pop(r[0]) o[r[1]] = o.pop(r[0]) if __name__ == "__main__": if __name__ == "__main__": if len(sys.argv) < 2: parser = argparse.ArgumentParser() print ("Usage: xml_to_json.py filename") parser.add_argument('-v', '--verbose', action='count', help='Verbose logging (can be specified multiple times)') parser.add_argument('-i', '--input', type=argparse.FileType('r'), default=sys.stdin, help="Path to input file (if absent, stdin is used)") args = parser.parse_args() match args.verbose: case v if v and v >= 2: logging.basicConfig(level=logging.DEBUG) case 1: logging.basicConfig(level=logging.INFO) case _: logging.basicConfig(level=logging.WARNING) logging.debug(f"Arguments: {args}") p = Path(sys.argv[1]) # if (args.input): s = p.read_text() # logging.info(f"Reading from {args.input}") # with open(args.input) as f: # s = f.read() # else: # logging.info(f"Reading from stdin") # s = sys.stdin.read() s = args.input.read() args.input.close() logging.debug(s) d = xmltodict.parse(s)['HI1Message'] d = xmltodict.parse(s)['HI1Message'] prefixes = extract_prefixes(d) prefixes = extract_prefixes(d) Loading Loading
utils/xml_to_json.py +29 −5 Original line number Original line Diff line number Diff line import xmltodict import sys import sys import logging from pprint import pprint from pprint import pprint import json import json from pathlib import Path from pathlib import Path import fileinput import xmltodict import argparse def extract_prefixes (d): def extract_prefixes (d): Loading @@ -26,12 +30,32 @@ def removePrefixes (o, prefixes): o[r[1]] = o.pop(r[0]) o[r[1]] = o.pop(r[0]) if __name__ == "__main__": if __name__ == "__main__": if len(sys.argv) < 2: parser = argparse.ArgumentParser() print ("Usage: xml_to_json.py filename") parser.add_argument('-v', '--verbose', action='count', help='Verbose logging (can be specified multiple times)') parser.add_argument('-i', '--input', type=argparse.FileType('r'), default=sys.stdin, help="Path to input file (if absent, stdin is used)") args = parser.parse_args() match args.verbose: case v if v and v >= 2: logging.basicConfig(level=logging.DEBUG) case 1: logging.basicConfig(level=logging.INFO) case _: logging.basicConfig(level=logging.WARNING) logging.debug(f"Arguments: {args}") p = Path(sys.argv[1]) # if (args.input): s = p.read_text() # logging.info(f"Reading from {args.input}") # with open(args.input) as f: # s = f.read() # else: # logging.info(f"Reading from stdin") # s = sys.stdin.read() s = args.input.read() args.input.close() logging.debug(s) d = xmltodict.parse(s)['HI1Message'] d = xmltodict.parse(s)['HI1Message'] prefixes = extract_prefixes(d) prefixes = extract_prefixes(d) Loading