[FIX] tools: cherry-pick of 0529a7f9
extract terms in correct folder If two addons path have a common part in the folder name (e.g. `/home/alice/dev` and `/home/alice/devodoo`), the `get_module_from_path` method may match the wrong folder. A file `/home/alice/devodoo/bob/models.py` would wrongly match `/home/alice/dev` path (due to the lack of separator) and the returned module would be `odoo` (`"odoo/bob/models.py".split('/')[0]`). In such scenario, the translations of files (code, static folder, report) would not be included in the exported translation file. Force the module path to ends with a folder separator to avoid wrong matching. Closes #13363
This commit is contained in:
parent
94f58d647c
commit
295f62741d
|
@ -859,8 +859,9 @@ def trans_generate(lang, modules, cr):
|
||||||
|
|
||||||
def get_module_from_path(path):
|
def get_module_from_path(path):
|
||||||
for (mp, rec) in path_list:
|
for (mp, rec) in path_list:
|
||||||
|
mp = os.path.join(mp, '')
|
||||||
if rec and path.startswith(mp) and os.path.dirname(path) != mp:
|
if rec and path.startswith(mp) and os.path.dirname(path) != mp:
|
||||||
path = path[len(mp)+1:]
|
path = path[len(mp):]
|
||||||
return path.split(os.path.sep)[0]
|
return path.split(os.path.sep)[0]
|
||||||
return 'base' # files that are not in a module are considered as being in 'base' module
|
return 'base' # files that are not in a module are considered as being in 'base' module
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue