Commit 6bef8393 authored by Mark Canterbury's avatar Mark Canterbury Committed by Mark Canterbury
Browse files

Adding JSON to XML conversion

parent f0fae221
Loading
Loading
Loading
Loading

temp.xml

0 → 100644
+2 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<HI1Message xmlns="http://uri.etsi.org/03120/common/2019/10/Core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:common="http://uri.etsi.org/03120/common/2016/02/Common" xmlns:task="http://uri.etsi.org/03120/common/2020/09/Task" xmlns:auth="http://uri.etsi.org/03120/common/2020/09/Authorisation"><Header><SenderIdentifier><CountryCode>XX</CountryCode><UniqueIdentifier>ACTOR01</UniqueIdentifier></SenderIdentifier><ReceiverIdentifier><CountryCode>XX</CountryCode><UniqueIdentifier>ACTOR02</UniqueIdentifier></ReceiverIdentifier><TransactionIdentifier>c02358b2-76cf-4ba4-a8eb-f6436ccaea2e</TransactionIdentifier><Timestamp>2015-09-01T12:00:00.000000Z</Timestamp><Version><ETSIVersion>V1.13.1</ETSIVersion><NationalProfileOwner>XX</NationalProfileOwner><NationalProfileVersion>v1.0</NationalProfileVersion></Version></Header><Payload><RequestPayload><ActionRequests><ActionRequest><ActionIdentifier>0</ActionIdentifier><CREATE><HI1Object xsi:type="{http://uri.etsi.org/03120/common/2020/09/Authorisation}AuthorisationObject"><ObjectIdentifier>7dbbc880-8750-4d3c-abe7-ea4a17646045</ObjectIdentifier><CountryCode>XX</CountryCode><OwnerIdentifier>ACTOR01</OwnerIdentifier><auth:AuthorisationReference>W000001</auth:AuthorisationReference><auth:AuthorisationTimespan><auth:StartTime>2015-09-01T12:00:00Z</auth:StartTime><auth:EndTime>2015-12-01T12:00:00Z</auth:EndTime></auth:AuthorisationTimespan></HI1Object></CREATE></ActionRequest><ActionRequest><ActionIdentifier>1</ActionIdentifier><CREATE><HI1Object xsi:type="{http://uri.etsi.org/03120/common/2020/09/Task}LITaskObject"><ObjectIdentifier>2b36a78b-b628-416d-bd22-404e68a0cd36</ObjectIdentifier><CountryCode>XX</CountryCode><OwnerIdentifier>ACTOR01</OwnerIdentifier><AssociatedObjects><AssociatedObject>7dbbc880-8750-4d3c-abe7-ea4a17646045</AssociatedObject></AssociatedObjects><task:Reference>LIID1</task:Reference><task:TargetIdentifier><task:TargetIdentifierValues><task:TargetIdentifierValue><task:FormatType><task:FormatOwner>ETSI</task:FormatOwner><task:FormatName>InternationalE164</task:FormatName></task:FormatType><task:Value>442079460223</task:Value></task:TargetIdentifierValue></task:TargetIdentifierValues></task:TargetIdentifier><task:DeliveryType><common:Owner>ETSI</common:Owner><common:Name>TaskDeliveryType</common:Name><common:Value>IRIandCC</common:Value></task:DeliveryType><task:DeliveryDetails><task:DeliveryDestination><task:DeliveryAddress><task:IPv4Address>192.0.2.0</task:IPv4Address></task:DeliveryAddress></task:DeliveryDestination></task:DeliveryDetails><task:CSPID><CountryCode>XX</CountryCode><UniqueIdentifier>RECVER01</UniqueIdentifier></task:CSPID></HI1Object></CREATE></ActionRequest></ActionRequests></RequestPayload></Payload></HI1Message>

utils/json_to_xml.py

0 → 100644
+35 −0
Original line number Diff line number Diff line
import sys
import logging
from pprint import pprint
import json
from pathlib import Path
import fileinput

import xmltodict
import argparse


if __name__ == "__main__":
    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}")

    s = args.input.read()
    args.input.close()

    logging.debug(s)
    j = json.loads(s)

    xml = xmltodict.unparse({'HI1Message' : j}, )
    print(xml)
 No newline at end of file