summaryrefslogtreecommitdiff
path: root/addons/base_import_module/models
diff options
context:
space:
mode:
authorxmo-odoo <xmo@odoo.com>2019-03-06 15:02:38 +0000
committerGitHub <noreply@github.com>2019-03-06 15:02:38 +0000
commit5ec4da2ee251a1ec422378632b6c4a3e10b92da1 (patch)
treee2927ed803df809d6df1a4948f657181c61a5d58 /addons/base_import_module/models
parentd3c980e92e5743a5d7c10006c255ac19de3c22b5 (diff)
[IMP] base_module_import: ignore garbage directories
If the zipfile contains some garbage directories (e.g. leftover empty directories from git, `__MACOSX` metadata folder, …) it seems unnecessary to log an error, just skip the directory and don't mark it as a proper / successful module. closes odoo/odoo#31639 Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Diffstat (limited to 'addons/base_import_module/models')
-rw-r--r--addons/base_import_module/models/ir_module.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/addons/base_import_module/models/ir_module.py b/addons/base_import_module/models/ir_module.py
index e0b18dd355a..ff55205bdf2 100644
--- a/addons/base_import_module/models/ir_module.py
+++ b/addons/base_import_module/models/ir_module.py
@@ -28,6 +28,8 @@ class IrModule(models.Model):
installed_mods = [m.name for m in known_mods if m.state == 'installed']
terp = load_information_from_description_file(module, mod_path=path)
+ if not terp:
+ return False
values = self.get_values_from_terp(terp)
unmet_dependencies = set(terp['depends']).difference(installed_mods)
@@ -110,8 +112,8 @@ class IrModule(models.Model):
try:
# assert mod_name.startswith('theme_')
path = opj(module_dir, mod_name)
- self.import_module(mod_name, path, force=force)
- success.append(mod_name)
+ if self.import_module(mod_name, path, force=force):
+ success.append(mod_name)
except Exception, e:
_logger.exception('Error while importing module')
errors[mod_name] = exception_to_unicode(e)