revert json cache
Some checks failed
Build and deploy the backend to staging / Build and push image (pull_request) Successful in 1m51s
Run linting on the backend code / Build (pull_request) Successful in 27s
Run testing on the backend code / Build (pull_request) Failing after 5m41s
Build and deploy the backend to staging / Deploy to staging (pull_request) Successful in 22s

This commit is contained in:
Helldragon67 2025-01-23 15:33:21 +01:00
parent 4818bde820
commit 1cc935fb34
2 changed files with 4 additions and 43 deletions

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,6 @@
import os
import xml.etree.ElementTree as ET
import hashlib
import ujson
from ..constants import OSM_CACHE_DIR
@ -35,43 +34,6 @@ class CachingStrategyBase:
"""Clean up or close any resources used by the caching strategy."""
class JSONCache(CachingStrategyBase):
"""
A caching strategy that stores and retrieves data in JSON format.
This class provides methods to cache data as JSON files in a specified directory.
The directory is automatically suffixed with '_JSON' to distinguish it from other
caching strategies. The data is stored and retrieved using JSON serialization.
Args:
cache_dir (str): The base directory where JSON cache files will be stored.
Defaults to 'OSM_CACHE_DIR' with a '_JSON' suffix.
Methods:
get(key): Retrieve cached data from a JSON file associated with the given key.
set(key, value): Store data in a JSON file with the specified key.
"""
def __init__(self, cache_dir=OSM_CACHE_DIR):
# Add the class name as a suffix to the directory
self._cache_dir = f'{cache_dir}_JSON'
if not os.path.exists(self._cache_dir):
os.makedirs(self._cache_dir)
def _filename(self, key):
return os.path.join(self._cache_dir, f'{key}.json')
def get(self, key):
filename = self._filename(key)
if os.path.exists(filename):
with open(filename, 'r', encoding='utf-8') as file:
return ujson.load(file)
return None
def set(self, key, value):
with open(self._filename(key), 'w', encoding='utf-8') as file:
ujson.dump(value, file)
class XMLCache(CachingStrategyBase):
"""
A caching strategy that stores and retrieves data in XML format.
@ -138,7 +100,6 @@ class CachingStrategy:
__strategy = XMLCache() # Default caching strategy
__strategies = {
'XML': XMLCache,
'JSON': JSONCache,
}
@classmethod