diff --git a/aqt/addons.py b/aqt/addons.py index 209b71105..78307b518 100644 --- a/aqt/addons.py +++ b/aqt/addons.py @@ -240,21 +240,23 @@ Are you sure you want to continue?""" log = [] errs = [] self.mw.progress.start(immediate=True) - for path in paths: - base = os.path.basename(path) - ret = self.install(path) - if ret[0] is False: - if ret[1] == "conflicts": - continue - elif ret[1] == "zip": - msg = _("Corrupt add-on file.") - elif ret[1] == "manifest": - msg = _("Invalid add-on manifest.") - errs.append(_("Error installing %(base)s: %(error)s" - % dict(base=base, error=msg))) - else: - log.append(_("Installed %(name)s" % dict(name=ret[1]))) - self.mw.progress.finish() + try: + for path in paths: + base = os.path.basename(path) + ret = self.install(path) + if ret[0] is False: + if ret[1] == "conflicts": + continue + elif ret[1] == "zip": + msg = _("Corrupt add-on file.") + elif ret[1] == "manifest": + msg = _("Invalid add-on manifest.") + errs.append(_("Error installing %(base)s: %(error)s" + % dict(base=base, error=msg))) + else: + log.append(_("Installed %(name)s" % dict(name=ret[1]))) + finally: + self.mw.progress.finish() return log, errs # Downloading