Source code for simdb.remote.core.cache

import contextlib

from flask import request
from flask_caching import Cache

from simdb.config import Config

config = Config("app.cfg")
config.load()
cache_options = {
    "CACHE_" + k.upper(): v for (k, v) in config.get_section("cache", {}).items()
}

cache = Cache(config=cache_options)


[docs] def cache_key(*args, **kwargs) -> str: headers = [] for key, value in request.headers.items(): if "simdb-" in key.lower(): headers.append(f"{key.lower()}:{value}") return request.url + "?" + "&".join(headers)
[docs] def clear_cache(): # If /tmp has been cleared by the system then we should ignore this exception with contextlib.suppress(FileNotFoundError): cache.clear()