debugging restore handler

This commit is contained in:
sanjayk03-dev
2024-06-07 18:27:38 +05:30
parent dd994d6229
commit f0bbe03874

View File

@@ -295,53 +295,56 @@ class ConfigDownloadHandler(bbctrl.APIHandler):
class ConfigRestoreHandler(bbctrl.APIHandler): class ConfigRestoreHandler(bbctrl.APIHandler):
def put(self): def put(self):
if 'zipfile' not in self.request.files['zipfile']:
raise HTTPError(400,'No file uploaded')
zip_file = self.request.files['zipfile'][0] zip_file = self.request.files['zipfile'][0]
temp_dir = './config-temp'; self.get_log('ConfigRestoreHandler').info('Request Hit')
# if 'zipfile' not in self.request.files:
# raise HTTPError(400, 'No file uploaded')
# zip_file = self.request.files['zipfile'][0]
# temp_dir = './config-temp';
if not os.path.exists(temp_dir): # if not os.path.exists(temp_dir):
os.mkdir(temp_dir) # os.mkdir(temp_dir)
files_path = os.path.join(temp_dir, zip_file['filename']) # files_path = os.path.join(temp_dir, zip_file['filename'])
try: # try:
with open(files_path, 'wb') as f: # with open(files_path, 'wb') as f:
f.write(zip_file['body']) # f.write(zip_file['body'])
except Exception as e: # except Exception as e:
raise HTTPError(500, f"Error handling zip file: {str(e)}") # raise HTTPError(500, f"Error handling zip file: {str(e)}")
if not os.path.exists(self.get_upload()): # if not os.path.exists(self.get_upload()):
os.mkdir(self.get_upload()) # os.mkdir(self.get_upload())
with zipfile.ZipFile(files_path, 'r') as zip_ref: # with zipfile.ZipFile(files_path, 'r') as zip_ref:
zip_ref.extractall(temp_dir+'/extracted') # zip_ref.extractall(temp_dir+'/extracted')
extension = (".nc", ".ngc", ".gcode", ".gc") # extension = (".nc", ".ngc", ".gcode", ".gc")
try: # try:
for root, dirs, files in os.walk(temp_dir+'/extracted'): # for root, dirs, files in os.walk(temp_dir+'/extracted'):
for file in files: # for file in files:
file_path = os.path.join(root, file) # file_path = os.path.join(root, file)
#Updating the config.json # #Updating the config.json
if file =="config.json": # if file =="config.json":
with open(file_path, 'r') as json_file: # with open(file_path, 'r') as json_file:
json_data = json.load(json_file) # json_data = json.load(json_file)
keys_to_remove = ['non_macros_list','gcode_list'] # keys_to_remove = ['non_macros_list','gcode_list']
for key in keys_to_remove: # for key in keys_to_remove:
if key in json_data: # if key in json_data:
del json_data[key] # del json_data[key]
self.get_ctrl().config.save(json_data) # self.get_ctrl().config.save(json_data)
#moving the gcodes from temp to uploads
elif file.endswith(extension): # #moving the gcodes from temp to uploads
shutil.move(file_path,self.get_upload(file)) # elif file.endswith(extension):
except Exception as e: # shutil.move(file_path,self.get_upload(file))
raise HTTPError(500, f"Error restoring: {str(e)}") # except Exception as e:
# raise HTTPError(500, f"Error restoring: {str(e)}")
shutil.rmtree(temp_dir) # shutil.rmtree(temp_dir)
class ConfigSaveHandler(bbctrl.APIHandler): class ConfigSaveHandler(bbctrl.APIHandler):