import json
from os import read
import sys
import getopt


OLD_TEMPLATE = "/app/node/templates_cfg.json"
OLD_OBJ = "/app/node/object_model_cfg.json"


def update_template(temp_file):
    with open(OLD_TEMPLATE) as f:
        old = json.load(f)
    with open(temp_file) as f:
        new = json.load(f)
    result = {}
    result['template_cfg'] = []

    for item in old['template_cfg']:
        find = 0
        for one in new['template_cfg']:
            if one['template_id'] == item['template_id']:
                find = 1
                break
        if find == 1:
            result['template_cfg'].append(one)
        else:
            result['template_cfg'].append(item)

    with open(OLD_TEMPLATE, 'w') as f:
        f.write(json.dumps(result))


def update_object(obj_file):
    with open(OLD_OBJ) as f:
        old = json.load(f)
    with open(obj_file) as f:
        new = json.load(f)
    result = {}
    result['object_model_cfg'] = []

    for item in old['object_model_cfg']:
        find = 0
        for one in new['object_model_cfg']:
            if one['profile']["productKey"] == item['profile']['productKey']:
                find = 1
                break
        if find == 1:
            result['object_model_cfg'].append(one)
        else:
            result['object_model_cfg'].append(item)

    with open(OLD_OBJ, 'w') as f:
        f.write(json.dumps(result))


def main(argv):
    temp = sys.argv[1]
    obj = sys.argv[2]

    print(temp, obj)

    update_template(temp)
    update_object(obj)


if __name__ == "__main__":
    main(sys.argv[1:])
