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