Check if restore is defined before doing anything else.

fix #453
This commit is contained in:
Antoine Nguyen
2022-11-05 09:30:50 +01:00
parent 962cac3ad9
commit 61838dbe4d

View File

@@ -96,8 +96,9 @@ class Dovecot(base.Installer):
def post_run(self): def post_run(self):
"""Additional tasks.""" """Additional tasks."""
if self.restore is not None:
mail_dir = os.path.join(self.restore, "mails/") mail_dir = os.path.join(self.restore, "mails/")
if self.restore is not None and len(os.listdir(mail_dir)) > 0: if len(os.listdir(mail_dir)) > 0:
utils.printcolor( utils.printcolor(
"Copying mail backup over dovecot directory.", utils.GREEN) "Copying mail backup over dovecot directory.", utils.GREEN)
@@ -111,9 +112,11 @@ class Dovecot(base.Installer):
for filename in filenames: for filename in filenames:
shutil.chown(os.path.join(dirpath, filename), shutil.chown(os.path.join(dirpath, filename),
self.user, self.user) self.user, self.user)
elif self.restore is not None: else:
utils.printcolor( utils.printcolor(
"It seems that mails were not backed up, skipping mail restoration.", utils.MAGENTA) "It seems that mails were not backed up, skipping mail restoration.",
utils.MAGENTA
)
if self.dbengine == "postgres": if self.dbengine == "postgres":
dbname = self.config.get("modoboa", "dbname") dbname = self.config.get("modoboa", "dbname")