json_loader.py 1.54 KB
Newer Older
# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
Pablo Armingol's avatar
Pablo Armingol committed

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at

#      http://www.apache.org/licenses/LICENSE-2.0

# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import json

def getInterfaceFromJson():
    json_file = open('interfaces.json', 'r',encoding='utf-8')
    interface_data = json.load(json_file)
    return interface_data

def getInterfaceFromNodeNames(json_file,node_name_src,node_name_dst):

    interface_src=[]
    interface_dst=[]
    for device in json_file['devices']:
        print("dev: %s",device.keys())
        if device['name'] == node_name_src:
            interface_src=list(device['links'].keys())[list(device['links'].values()).index(node_name_dst)]
        if device['name'] == node_name_dst:
            interface_dst=list(device['links'].keys())[list(device['links'].values()).index(node_name_src)]

    return interface_src,interface_dst
    

if __name__ == "__main__":
    data=getInterfaceFromJson()
    print("data: %s",data['devices'])
    # for device in data['devices']:
    #     print(device['interfaces'].keys())

    print(getInterfaceFromNodeNames(data,"HL2-2-1","HL2-2-2"))