Added placeholder methods for calling functions before deletion of files and directories

parent 94492aaf
...@@ -551,6 +551,26 @@ class FileAdmin(BaseView, ActionsMixin): ...@@ -551,6 +551,26 @@ class FileAdmin(BaseView, ActionsMixin):
""" """
pass pass
def before_directory_delete(self, full_path, dir_name):
"""
Perform some actions before a directory has successfully been deleted.
Called from delete method
By default do nothing.
"""
pass
def before_file_delete(self, full_path, filename):
"""
Perform some actions before a file has successfully been deleted.
Called from delete method
By default do nothing.
"""
pass
def on_directory_delete(self, full_path, dir_name): def on_directory_delete(self, full_path, dir_name):
""" """
Perform some actions after a directory has successfully been deleted. Perform some actions after a directory has successfully been deleted.
...@@ -785,6 +805,7 @@ class FileAdmin(BaseView, ActionsMixin): ...@@ -785,6 +805,7 @@ class FileAdmin(BaseView, ActionsMixin):
return redirect(return_url) return redirect(return_url)
try: try:
self.before_directory_delete(full_path, path)
shutil.rmtree(full_path) shutil.rmtree(full_path)
self.on_directory_delete(full_path, path) self.on_directory_delete(full_path, path)
flash(gettext('Directory "%(path)s" was successfully deleted.', path=path)) flash(gettext('Directory "%(path)s" was successfully deleted.', path=path))
...@@ -792,6 +813,7 @@ class FileAdmin(BaseView, ActionsMixin): ...@@ -792,6 +813,7 @@ class FileAdmin(BaseView, ActionsMixin):
flash(gettext('Failed to delete directory: %(error)s', error=ex), 'error') flash(gettext('Failed to delete directory: %(error)s', error=ex), 'error')
else: else:
try: try:
self.before_file_delete(full_path, path)
os.remove(full_path) os.remove(full_path)
self.on_file_delete(full_path, path) self.on_file_delete(full_path, path)
flash(gettext('File "%(name)s" was successfully deleted.', name=path)) flash(gettext('File "%(name)s" was successfully deleted.', name=path))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment