[FIX] runbot: get_module remove prefix

Since removeprefix was not available in ubuntu 20.04, a easier alternative
using rebase was used.

The initial assumption was that the prefix would look like `odoo/addons/`
and won't be in the filename.

When the repo is enterprise, the prefix is `enterprise/` meaning that
module name ending with `enterprise` will be truncated

`repo._get_module('enterprise/mail_enterprise/static/src/widgets/form_renderer/form_renderer.js')`

will output

`mail_static`
This commit is contained in:
Xavier-Do 2023-01-17 16:58:05 +01:00 committed by xdo
parent 5e1048c6da
commit d3e3228921
2 changed files with 3 additions and 1 deletions

View File

@ -561,7 +561,7 @@ class Repo(models.Model):
for addons_path in (self.addons_paths or '').split(','):
base_path = f'{self.name}/{addons_path}'
if file.startswith(base_path):
return file.replace(base_path, '').strip('/').split('/')[0]
return file[len(base_path):].strip('/').split('/')[0]
class RefTime(models.Model):

View File

@ -108,7 +108,9 @@ class TestCodeowner(TestBuildConfigStepCommon):
self.assertEqual(self.repo_server.addons_paths, 'addons,core/addons')
self.assertEqual('module1', self.repo_server._get_module('server/core/addons/module1/some/file.py'))
self.assertEqual('module1', self.repo_server._get_module('server/addons/module1/some/file.py'))
self.assertEqual('module_addons', self.repo_addons._get_module('addons/module_addons/some/file.py'))
self.assertEqual(None, self.repo_server._get_module('server/core/module1/some/file.py'))
self.assertEqual(None, self.repo_server._get_module('server/core/module/some/file.py'))
def test_codeowner_regex_multiple(self):
self.diff = 'file.js\nfile.py\nfile.xml'