import os
import json

root = '/root/Documents/GroupLung/Datasets/cls_data/job_data_cls_train/input/input_config.json'
base_path = '/root/Documents/GroupLung/LungClassification3D/NoduleDensityClassifier/config.json'
model_path = '/root/Documents/GroupLung/LungClassification3D/NoduleDensityClassifier/model_parameters.json'

root_json = json.load(open(root, 'r'))
base_json = json.load(open(base_path, 'r'))
model_json = json.load(open(model_path, 'r'))

# 去掉root中的部分无用的参数
use_list = ['train', 'test', 'pred', 'use_amp', 'usr_ckpt', 'check_cancleflag', 'in_channels', 'out_channels', 'split', 'pretrain_msg', 'preprocess_workers', 'working_label', 'crop_size', 'diameter_th', 'annotation_label']
for key in list(root_json.keys()):
    if key not in use_list:
        root_json.pop(key, None)

# 增加新的参数
for key, value in base_json.items():
    if key not in root_json.keys():
        root_json[key] = value
    else:
        print('No.1, already have this key: {}'.format(key))

for key, value in model_json.items():
    if key not in root_json.keys():
        root_json[key] = value
    else:
        print('No.2, already have this key: {}'.format(key))

with open('/root/Documents/GroupLung/Datasets/cls_data/job_data_cls_train/input/new_input_config.json', 'w+') as fp:
    json.dump(root_json, fp, indent=4)
