-from base64 import urlsafe_b64encode
-from hashlib import sha3_512
+from pathlib import Path
+from jinja2_simple_tags import StandaloneTag
-def scramble(secret, value):
- h = sha3_512()
- h.update(f"{secret}{value}".encode())
- return urlsafe_b64encode(h.digest()).rstrip(b"=").decode("ascii")
+
+class StaticTag(StandaloneTag):
+ tags = {"static"}
+
+ def render(self, filename="/", hubapp=None):
+ if not hubapp:
+ hubapp = self.context["hubapp"]
+ elif isinstance(hubapp, str):
+ hubapp = self.context["hubapp"].app.hubapps[hubapp]
+ return hubapp.uri_from(Path(filename))
def get_redis_pass(redis_conf):