Fix bug where del fail would give no feedback

This commit is contained in:
amcmanu3 2024-01-28 16:21:27 -05:00
parent 27678e93ca
commit ec5e291a98
2 changed files with 11 additions and 6 deletions

View File

@ -35,8 +35,9 @@ class FileHelpers:
try: try:
# This removes the top-level folder: # This removes the top-level folder:
path.rmdir() path.rmdir()
except: except Exception as e:
logger.error("Unable to remove top level") logger.error("Unable to remove top level")
return e
return True return True
@staticmethod @staticmethod
@ -47,9 +48,9 @@ class FileHelpers:
# Remove the file # Remove the file
os.remove(path) os.remove(path)
return True return True
except FileNotFoundError: except (FileNotFoundError, PermissionError) as e:
logger.error(f"Path specified is not a file or does not exist. {path}") logger.error(f"Path specified is not a file or does not exist. {path}")
return False return e
@staticmethod @staticmethod
def copy_dir(src_path, dest_path, dirs_exist_ok=False): def copy_dir(src_path, dest_path, dirs_exist_ok=False):

View File

@ -237,10 +237,14 @@ class ApiServersServerFilesIndexHandler(BaseApiHandler):
) )
if os.path.isdir(data["filename"]): if os.path.isdir(data["filename"]):
FileHelpers.del_dirs(data["filename"]) proc = FileHelpers.del_dirs(data["filename"])
else: else:
FileHelpers.del_file(data["filename"]) proc = FileHelpers.del_file(data["filename"])
# disabling pylint because return value could be truthy
# but not a true boolean value
if proc == True: # pylint: disable=singleton-comparison
return self.finish_json(200, {"status": "ok"}) return self.finish_json(200, {"status": "ok"})
return self.finish_json(500, {"status": "error", "error": str(proc)})
def patch(self, server_id: str): def patch(self, server_id: str):
auth_data = self.authenticate_user() auth_data = self.authenticate_user()