|
@@ -51,7 +51,7 @@ def get_query(name: str, root: str = 'app/rest/static/files') -> str:
|
|
return page.decode('utf-8')
|
|
return page.decode('utf-8')
|
|
|
|
|
|
|
|
|
|
-def norm(key, person):
|
|
|
|
|
|
+def norm(key):
|
|
|
|
|
|
if isinstance(key, tuple):
|
|
if isinstance(key, tuple):
|
|
query, _hash = key
|
|
query, _hash = key
|
|
@@ -67,7 +67,7 @@ def norm(key, person):
|
|
#_hash = base32_to_hash(query.hash)
|
|
#_hash = base32_to_hash(query.hash)
|
|
|
|
|
|
if None not in (query, _hash):
|
|
if None not in (query, _hash):
|
|
- if get_hash(query, person) != _hash:
|
|
|
|
|
|
+ if get_hash(query) != _hash:
|
|
raise KeyError(f"Invalid key: {key}")
|
|
raise KeyError(f"Invalid key: {key}")
|
|
|
|
|
|
return query, _hash
|
|
return query, _hash
|
|
@@ -75,10 +75,10 @@ def norm(key, person):
|
|
if (_hash, query) is (None, None):
|
|
if (_hash, query) is (None, None):
|
|
raise KeyError(f"Invalid key: {key}")
|
|
raise KeyError(f"Invalid key: {key}")
|
|
|
|
|
|
- return query, _hash if _hash else get_hash(query, person)
|
|
|
|
|
|
+ return query, _hash if _hash else get_hash(query)
|
|
|
|
|
|
-def get_hash(key, person):
|
|
|
|
- _bytes = blake(key.encode('utf-8'), person=f'grocery-{person}'.encode('utf-8'))
|
|
|
|
|
|
+def get_hash(key):
|
|
|
|
+ _bytes = blake(key.encode('utf-8'), person='grocery'.encode('utf-8'))
|
|
return bytes_to_hash(_bytes)
|
|
return bytes_to_hash(_bytes)
|
|
|
|
|
|
|
|
|
|
@@ -98,10 +98,9 @@ def normalize_query(query: FormsDict, allow: Iterable[str] = None) -> Tuple[str,
|
|
|
|
|
|
|
|
|
|
class QueryCache:
|
|
class QueryCache:
|
|
- def __init__(self, limit, person) -> None:
|
|
|
|
|
|
+ def __init__(self, limit) -> None:
|
|
self._cache: Dict[int, str] = dict()
|
|
self._cache: Dict[int, str] = dict()
|
|
self._limit = limit
|
|
self._limit = limit
|
|
- self._person = person
|
|
|
|
|
|
|
|
def __delitem__(self, key):
|
|
def __delitem__(self, key):
|
|
return self.remove(key)
|
|
return self.remove(key)
|
|
@@ -113,7 +112,7 @@ class QueryCache:
|
|
return self.add(key, value)
|
|
return self.add(key, value)
|
|
|
|
|
|
def get(self, key: str) -> str:
|
|
def get(self, key: str) -> str:
|
|
- query, _hash = norm(key, self._person)
|
|
|
|
|
|
+ query, _hash = norm(key)
|
|
if _hash not in self._cache:
|
|
if _hash not in self._cache:
|
|
if query:
|
|
if query:
|
|
return self.add(_hash, query)
|
|
return self.add(_hash, query)
|
|
@@ -148,7 +147,7 @@ class QueryCache:
|
|
def add(self, key: str, value: str) -> str:
|
|
def add(self, key: str, value: str) -> str:
|
|
#self._clear_stale()
|
|
#self._clear_stale()
|
|
#self._enforce_limit(self._limit)
|
|
#self._enforce_limit(self._limit)
|
|
- query, _hash = norm(key, self._person)
|
|
|
|
|
|
+ query, _hash = norm(key)
|
|
value = value or query
|
|
value = value or query
|
|
|
|
|
|
if not value:
|
|
if not value:
|
|
@@ -158,6 +157,6 @@ class QueryCache:
|
|
return value
|
|
return value
|
|
|
|
|
|
def remove(self, key: str):
|
|
def remove(self, key: str):
|
|
- key = norm(key, self._person)
|
|
|
|
|
|
+ key = norm(key)
|
|
self._cache.pop(key, None)
|
|
self._cache.pop(key, None)
|
|
delete_query(hash_to_base32(key))
|
|
delete_query(hash_to_base32(key))
|