diff --git a/NEWS.rst b/NEWS.rst index 1a9f7353c127513b75eecaff9fde442b6c3ac9ad_TkVXUy5yc3Q=..dde0e7d311c3af5083a6606f8426734626832263_TkVXUy5yc3Q= 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -9,6 +9,8 @@ Improve documentation generation. +Fix issue with pg.extensions key in config file. + 4.0 --- diff --git a/odoo_scripts/config.py b/odoo_scripts/config.py index 1a9f7353c127513b75eecaff9fde442b6c3ac9ad_b2Rvb19zY3JpcHRzL2NvbmZpZy5weQ==..dde0e7d311c3af5083a6606f8426734626832263_b2Rvb19zY3JpcHRzL2NvbmZpZy5weQ== 100644 --- a/odoo_scripts/config.py +++ b/odoo_scripts/config.py @@ -37,15 +37,11 @@ if os.path.isdir(file): key_set.add(file) setattr(self, key, list(key_set)) - for key in ("module_list", "module_list_tests"): - setattr( - self, key, config_parser.get(section, key, fallback="").split() - ) - for key in ( - "db_user", - "db_password", - "load-language", - "pg.extensions", - ): + + def key_format(key: str) -> str: + """Replace invalid characters in an attribute""" + return key.replace("-", "_").replace(".", "_") + + for key in ("module_list", "module_list_tests", "pg.extensions"): setattr( self, @@ -50,6 +46,12 @@ setattr( self, - key.replace("-", "_").replace(".", "_"), + key_format(key), + config_parser.get(section, key, fallback="").split(), + ) + for key in ("db_user", "db_password", "load-language"): + setattr( + self, + key_format(key), config_parser.get(section, key, fallback=None), ) self.registry = config_parser.get(