WIP: Improved backup/restore system.
This commit is contained in:
@@ -6,6 +6,17 @@ import sys
|
||||
from .. import utils
|
||||
|
||||
|
||||
def load_app_script(appname):
|
||||
"""Load module corresponding to the given appname."""
|
||||
try:
|
||||
script = importlib.import_module(
|
||||
"modoboa_installer.scripts.{}".format(appname))
|
||||
except ImportError:
|
||||
print("Unknown application {}".format(appname))
|
||||
sys.exit(1)
|
||||
return script
|
||||
|
||||
|
||||
def install(appname, config, upgrade, restore):
|
||||
"""Install an application."""
|
||||
if (config.has_option(appname, "enabled") and
|
||||
@@ -13,12 +24,7 @@ def install(appname, config, upgrade, restore):
|
||||
return
|
||||
|
||||
utils.printcolor("Installing {}".format(appname), utils.MAGENTA)
|
||||
try:
|
||||
script = importlib.import_module(
|
||||
"modoboa_installer.scripts.{}".format(appname))
|
||||
except ImportError:
|
||||
print("Unknown application {}".format(appname))
|
||||
sys.exit(1)
|
||||
script = load_app_script(appname)
|
||||
try:
|
||||
getattr(script, appname.capitalize())(config, upgrade, restore).run()
|
||||
except utils.FatalError as inst:
|
||||
@@ -26,13 +32,16 @@ def install(appname, config, upgrade, restore):
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def backup(config, silent_backup, backup_path, nomail):
|
||||
"""Backup instance"""
|
||||
script = importlib.import_module(
|
||||
"modoboa_installer.scripts.backup")
|
||||
def backup(appname, config, path):
|
||||
"""Backup an application."""
|
||||
if (config.has_option(appname, "enabled") and
|
||||
not config.getboolean(appname, "enabled")):
|
||||
return
|
||||
|
||||
utils.printcolor("Backing up {}".format(appname), utils.MAGENTA)
|
||||
script = load_app_script(appname)
|
||||
try:
|
||||
getattr(script, "Backup")(
|
||||
config, silent_backup, backup_path, nomail).run()
|
||||
getattr(script, appname.capitalize())(config, False, False).backup(path)
|
||||
except utils.FatalError as inst:
|
||||
utils.printcolor(u"{}".format(inst), utils.RED)
|
||||
sys.exit(1)
|
||||
|
||||
Reference in New Issue
Block a user