diff --git a/addons/website/models/assets.py b/addons/website/models/assets.py index c4793ae1b7a..f893ea0eeec 100644 --- a/addons/website/models/assets.py +++ b/addons/website/models/assets.py @@ -123,6 +123,13 @@ class Assets(models.AbstractModel): updatedFileContent = self._get_content_from_url(custom_url) or self._get_content_from_url(url) updatedFileContent = updatedFileContent.decode('utf-8') for name, value in values.items(): + # Protect variable names so they cannot be computed as numbers + # on SCSS compilation (e.g. var(--700) => var(700)). + if isinstance(value, str): + value = re.sub( + r"var\(--([0-9]+)\)", + lambda matchobj: "var(--#{" + matchobj.group(1) + "})", + value) pattern = "'%s': %%s,\n" % name regex = re.compile(pattern % ".+") replacement = pattern % value