Skip to content

Commit 33547ea

Browse files
committed
Implement reset_data functionality
1 parent 1bd3be4 commit 33547ea

File tree

3 files changed

+40
-3
lines changed

3 files changed

+40
-3
lines changed

rootfs/standard/var/pynode/application_info.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -754,6 +754,44 @@ def restart_application(short_name):
754754
except Exception as e:
755755
return False
756756

757+
def backup_data_folder(app_data):
758+
log_message(" Running backup_data_folder...")
759+
760+
def restore_data_folder(app_data):
761+
log_message(" Running restore_data_folder...")
762+
763+
def reset_data_folder(app_data):
764+
log_message(" Running reset_data_folder...")
765+
766+
# If app_data is a string (short name), convert it to a full configuration
767+
# and preserve the original short name.
768+
if isinstance(app_data, str):
769+
original_short_name = app_data # Save the short name for service commands.
770+
app_data = get_application(app_data)
771+
else:
772+
original_short_name = app_data["short_name"]
773+
774+
data_folder = app_data["storage_folder"]
775+
776+
# Stop the service before removing data_folder
777+
log_message("Stopping '{}'.".format(original_short_name))
778+
stop_service(original_short_name)
779+
780+
# Remove App data_folder
781+
log_message("Removing storage folder '{}' of '{}'...".format(data_folder, original_short_name))
782+
data_folder = app_data["storage_folder"]
783+
run_linux_cmd("rm -rf {}".format(data_folder))
784+
785+
# Re-create the storage folder
786+
log_message("Creating storage folder '{}' of '{}'...".format(data_folder, original_short_name))
787+
create_application_storage_folder(app_data)
788+
789+
# Re-start the service
790+
log_message("Starting '{}'.".format(original_short_name))
791+
start_service(original_short_name)
792+
793+
return True
794+
757795
######################################################################################
758796
## Bulk Application Actions
759797
######################################################################################

rootfs/standard/var/www/mynode/api.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,6 @@ def api_restart_app():
149149

150150
return "OK"
151151

152-
# @mynode_api.route("/api/restart_app")
153152
@mynode_api.route("/api/backup_data_folder")
154153
def api_backup_data_folder():
155154
check_logged_in()

rootfs/standard/var/www/mynode/templates/app/generic_app.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,9 @@
8383
<button class="ui-button ui-widget ui-corner-all mynode_button app_page_button" onclick="restart_app_via_api('{{ app.name }}', '{{ app.short_name }}');">Restart</button>
8484

8585
{% if app.is_enabled and app.data_manageable %}
86-
<button class="ui-button ui-widget ui-corner-all mynode_button app_page_button" onclick="backup_data_folder_via_api('{{ app.name }}', '{{ app.short_name }}');">Backup Data</button>
86+
<!-- <button class="ui-button ui-widget ui-corner-all mynode_button app_page_button" onclick="backup_data_folder_via_api('{{ app.name }}', '{{ app.short_name }}');">Backup Data</button>
8787
<button class="ui-button ui-widget ui-corner-all mynode_button app_page_button" onclick="restore_data_folder_via_api('{{ app.name }}', '{{ app.short_name }}');">Restore Data</button>
88-
<button class="ui-button ui-widget ui-corner-all mynode_button app_page_button" onclick="reset_data_folder_via_api('{{ app.name }}', '{{ app.short_name }}');">Reset Data</button>
88+
--> <button class="ui-button ui-widget ui-corner-all mynode_button app_page_button" onclick="reset_data_folder_via_api('{{ app.name }}', '{{ app.short_name }}');">Reset Data</button>
8989
{% endif %}
9090

9191
{% for btn in app.app_page_additional_buttons %}

0 commit comments

Comments
 (0)