Merge branch 'dev' into bookworm

This commit is contained in:
Alexandre Aubin 2024-04-11 00:39:00 +02:00
commit cc39fca559

View file

@ -152,24 +152,34 @@ class AppResource:
"__APP__": self.app,
"__YNH_ARCH__": system_arch(),
"__YNH_DEBIAN_VERSION__": debian_version(),
"__YNH_DEBIAN_VERSION_ID__": debian_version_id(),
"__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()}
return {
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)