diff --git a/src/utils/resources.py b/src/utils/resources.py index f6a58c964..7acc84016 100644 --- a/src/utils/resources.py +++ b/src/utils/resources.py @@ -152,26 +152,29 @@ class AppResource: "__APP__": self.app, "__YNH_ARCH__": system_arch(), "__YNH_DEBIAN_VERSION__": debian_version(), + "__YNH_APP_UPSTREAM_VERSION__": manager.wanted["version"].split("~")[0] if manager.wanted else manager.current["version"].split("~")[0], } def recursive_apply(function: Callable, data: Any) -> Any: if isinstance(data, dict): # FIXME: hashable? return { - key: recursive_apply(value, function) for key, value in data.items() + key: recursive_apply(function, value) for key, value in data.items() } if isinstance(data, list): # FIXME: iterable? - return [recursive_apply(value, function) for value in data] + return [recursive_apply(function, value) for value in data] return function(data) def replace_tokens_in_strings(data: Any): if not isinstance(data, str): - return + return data for token, replacement in replacements.items(): data = data.replace(token, replacement) - recursive_apply(replace_tokens_in_strings, properties) + return data + + properties = recursive_apply(replace_tokens_in_strings, properties) for key, value in properties.items(): setattr(self, key, value)