from misago.core.cache import cache as default_cache from misago.core.cachebuster import CACHE_KEY def _CacheVersion(apps): return apps.get_model('misago_core', 'CacheVersion') def cachebuster_register_cache(apps, cache): _CacheVersion(apps).objects.create(cache=cache) def cachebuster_unregister_cache(apps, cache): CacheVersion = _CacheVersion(apps) try: cache = CacheVersion.objects.get(cache=cache) cache.delete() except CacheVersion.DoesNotExist: raise ValueError('Cache "%s" is not registered' % cache) def delete_cachebuster_cache(): default_cache.delete(CACHE_KEY)