implement container prompt for backup and upgrade
This commit is contained in:
parent
51d25e0b3f
commit
404f620cc7
11
backup.py
11
backup.py
|
|
@ -1,7 +1,6 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import datetime
|
||||
import os
|
||||
import sys
|
||||
from pathlib import Path
|
||||
import yaml
|
||||
|
|
@ -10,6 +9,7 @@ import utils
|
|||
from utils import _print
|
||||
from models import Container
|
||||
from models import Log
|
||||
from simple_term_menu import TerminalMenu
|
||||
|
||||
|
||||
def backup():
|
||||
|
|
@ -31,6 +31,13 @@ def backup():
|
|||
if containers_wanted:
|
||||
containers = containers_wanted
|
||||
|
||||
# If no container was chosen ask for it
|
||||
elif not utils.all_containers:
|
||||
containers_to_choose_from = [container.name for container in containers.values()]
|
||||
terminal_menu = TerminalMenu(containers_to_choose_from, title="Which Nextcloud instance do you want to back up?")
|
||||
choice_index = terminal_menu.show()
|
||||
containers = {containers_to_choose_from[choice_index]: containers.get(containers_to_choose_from[choice_index])}
|
||||
|
||||
# Loop through Nextcloud container instances
|
||||
container: Container
|
||||
for container in containers.values():
|
||||
|
|
@ -67,8 +74,6 @@ def backup():
|
|||
# Clean up backup folder
|
||||
container.cleanup()
|
||||
|
||||
return backup_status
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
backup()
|
||||
|
|
|
|||
16
upgrade.py
16
upgrade.py
|
|
@ -11,10 +11,10 @@ from utils import _print
|
|||
from models import Container
|
||||
from models import Log
|
||||
import backup
|
||||
from simple_term_menu import TerminalMenu
|
||||
|
||||
|
||||
def upgrade():
|
||||
upgrade_status = True
|
||||
|
||||
# Set flags
|
||||
utils.set_flags(sys.argv)
|
||||
|
|
@ -32,16 +32,22 @@ def upgrade():
|
|||
if containers_wanted:
|
||||
containers = containers_wanted
|
||||
|
||||
# If no container was chosen ask for it
|
||||
elif not utils.all_containers:
|
||||
containers_to_choose_from = [container.name for container in containers.values()]
|
||||
terminal_menu = TerminalMenu(containers_to_choose_from, title="Which Nextcloud instance do you want to "
|
||||
"upgrade?")
|
||||
choice_index = terminal_menu.show()
|
||||
containers = {containers_to_choose_from[choice_index]: containers.get(containers_to_choose_from[choice_index])}
|
||||
|
||||
# Loop through Nextcloud container instances
|
||||
container: Container
|
||||
for container in containers.values():
|
||||
|
||||
go_on = True
|
||||
# Make a backup
|
||||
if not utils.no_backup:
|
||||
utils.keep_maintenance_mode = True
|
||||
go_on = backup.backup()
|
||||
|
||||
if go_on:
|
||||
# Make the upgrade
|
||||
utils.keep_maintenance_mode = True if "--maintenance" in sys.argv else False
|
||||
|
|
@ -61,8 +67,6 @@ def upgrade():
|
|||
_print(F"{Fore.YELLOW}Exception occurred in method: Container.{func}(){Style.RESET_ALL}")
|
||||
_print(traceback)
|
||||
_print()
|
||||
upgrade_status = False
|
||||
|
||||
# Log upgrade
|
||||
if not utils.no_log and settings_list['log']['logging']:
|
||||
if upgrade_status:
|
||||
|
|
@ -76,8 +80,6 @@ def upgrade():
|
|||
_print(traceback)
|
||||
_print()
|
||||
|
||||
return upgrade_status
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
upgrade()
|
||||
|
|
|
|||
Loading…
Reference in New Issue