Loading utils/xml_to_json.py +29 −5 Original line number Diff line number Diff line import xmltodict import sys import logging from pprint import pprint import json from pathlib import Path import fileinput import xmltodict import argparse def extract_prefixes (d): Loading @@ -26,12 +30,32 @@ def removePrefixes (o, prefixes): o[r[1]] = o.pop(r[0]) if __name__ == "__main__": if len(sys.argv) < 2: print ("Usage: xml_to_json.py filename") parser = argparse.ArgumentParser() 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]) s = p.read_text() # if (args.input): # 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'] prefixes = extract_prefixes(d) Loading Loading
utils/xml_to_json.py +29 −5 Original line number Diff line number Diff line import xmltodict import sys import logging from pprint import pprint import json from pathlib import Path import fileinput import xmltodict import argparse def extract_prefixes (d): Loading @@ -26,12 +30,32 @@ def removePrefixes (o, prefixes): o[r[1]] = o.pop(r[0]) if __name__ == "__main__": if len(sys.argv) < 2: print ("Usage: xml_to_json.py filename") parser = argparse.ArgumentParser() 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]) s = p.read_text() # if (args.input): # 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'] prefixes = extract_prefixes(d) Loading