Browse Source

Publish Api Fix

master
venkataakhil 1 year ago
parent
commit
8a4eed70e1
  1. 101
      smart_service/apis/publish_api.py

101
smart_service/apis/publish_api.py

@ -8,6 +8,9 @@ import os
from frappe.utils import cstr from frappe.utils import cstr
from smart_service.apis.app_user_login import input_validation from smart_service.apis.app_user_login import input_validation
import time import time
# from frappe.utils import logger
# frappe.utils.logger.set_log_level("DEBUG")
current_db_name = frappe.conf.get("db_name") current_db_name = frappe.conf.get("db_name")
site_name = cstr(frappe.local.site) site_name = cstr(frappe.local.site)
@ -766,71 +769,79 @@ def old_merge_json_files(old_json_path, new_json_path, out_file_path):
except Exception as e: except Exception as e:
return False, frappe.get_traceback() return False, frappe.get_traceback()
@frappe.whitelist(allow_guest=1)
def merge_json_files(old_json_path, new_json_path, out_file_path): def merge_json_files(old_json_path, new_json_path, out_file_path):
try: # try:
final_data = {"JSON": []} final_data = {"JSON": []}
with open(old_json_path, "r") as json_file: with open(old_json_path, "r") as json_file:
data_old = json.load(json_file) data_old = json.load(json_file)
with open(new_json_path, "r") as json_file1: # logger.debug('Old Json Path',str(old_json_path))
data_new = json.load(json_file1)
for k in data_new["JSON"]: with open(new_json_path, "r") as json_file1:
old_var_key = check_key(k["Variant"]["name"], data_old["JSON"], "Variant") data_new = json.load(json_file1)
if old_var_key is not None and old_var_key >= 0: # logger.debug('New Json Path',str(new_json_path))
var_dict = {}
var_dict["Variant"] = k["Variant"]
variant_systems = k["Variant"]["Systems"]
var_dict["Variant"]["Systems"] = data_old["JSON"][old_var_key]["Variant"]["Systems"]
if not k["Variant"]["Assets"]: for k in data_new["JSON"]:
var_dict["Variant"]["Assets"] = data_old["JSON"][old_var_key]["Variant"]["Assets"] old_var_key = check_key(k["Variant"]["name"], data_old["JSON"], "Variant")
# logger.debug('Old Variant',str(old_var_key))
for i in variant_systems: if old_var_key is not None and old_var_key >= 0:
old_sys_key = check_key(i["sys_id"], var_dict["Variant"]["Systems"], "System") var_dict = {}
var_dict["Variant"] = k["Variant"]
# logger.debug("variant dict",str(var_dict["Variant"]))
variant_systems = k["Variant"]["Systems"]
var_dict["Variant"]["Systems"] = data_old["JSON"][old_var_key]["Variant"]["Systems"]
if old_sys_key is not None and old_sys_key >= 0: if not k["Variant"]["Assets"]:
var_dict["Variant"]["Systems"][old_sys_key]["systemdisplayorder"] = i["systemdisplayorder"] var_dict["Variant"]["Assets"] = data_old["JSON"][old_var_key]["Variant"]["Assets"]
var_dict["Variant"]["Systems"][old_sys_key]["icon_file"] = i["icon_file"]
var_dict["Variant"]["Systems"][old_sys_key]["active_status"] = i["active_status"]
if i["Assets"]: for i in variant_systems:
var_dict["Variant"]["Systems"][old_sys_key]["Assets"] = i["Assets"] old_sys_key = check_key(i["sys_id"], var_dict["Variant"]["Systems"], "System")
for s in i["Subsystems"]: if old_sys_key is not None and old_sys_key >= 0:
old_sub_key = check_key(s["sub_systems"], var_dict["Variant"]["Systems"][old_sys_key]["systemdisplayorder"] = i["systemdisplayorder"]
var_dict["Variant"]["Systems"][old_sys_key]["Subsystems"], var_dict["Variant"]["Systems"][old_sys_key]["icon_file"] = i["icon_file"]
"Sub System") var_dict["Variant"]["Systems"][old_sys_key]["active_status"] = i["active_status"]
if old_sub_key is not None and old_sub_key >= 0: if i["Assets"]:
var_dict["Variant"]["Systems"][old_sys_key]["Subsystems"][old_sub_key] = s var_dict["Variant"]["Systems"][old_sys_key]["Assets"] = i["Assets"]
else:
var_dict["Variant"]["Systems"][old_sys_key]["Subsystems"].append(s)
else:
var_dict["Variant"]["Systems"].append(i)
time.sleep(0.100) for s in i["Subsystems"]:
data_old["JSON"][old_var_key] = var_dict old_sub_key = check_key(s["sub_systems"],
final_data["JSON"].append(var_dict) var_dict["Variant"]["Systems"][old_sys_key]["Subsystems"],
"Sub System")
else: if old_sub_key is not None and old_sub_key >= 0:
data_old["JSON"].append(k) var_dict["Variant"]["Systems"][old_sys_key]["Subsystems"][old_sub_key] = s
else:
var_dict["Variant"]["Systems"][old_sys_key]["Subsystems"].append(s)
else:
var_dict["Variant"]["Systems"].append(i)
json_object = json.dumps(data_old, indent=4) data_old["JSON"][old_var_key] = var_dict
with open(out_file_path, "w") as outfile: final_data["JSON"].append(var_dict)
outfile.write(json_object)
return True, out_file_path else:
except: data_old["JSON"].append(k)
return False, frappe.log_error("Merge JSON:",frappe.get_traceback())
json_object = json.dumps(data_old, indent=4)
with open(out_file_path, "w") as outfile:
outfile.write(json_object)
return True, out_file_path
# except:
# return False, frappe.log_error("Merge JSON:",frappe.get_traceback())
def check_key(key_name, old_data, type=None): def check_key(key_name, old_data, type=None):
old_file_length = len(old_data) old_file_length = len(old_data)
for d in range(0, old_file_length): for d in range(0, old_file_length):
if type == "Variant": if type == "Variant":
try: try:
# logger.debug('Variant check',str(old_data[d]["Variant"]["name"]))
# logger.debug('Variant key check',str(key_name))
if old_data[d]["Variant"]["name"] == key_name: if old_data[d]["Variant"]["name"] == key_name:
return d return d
except: except:

Loading…
Cancel
Save