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 Original line 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 Original line 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