mirror of
https://git.pleroma.social/pleroma/relay.git
synced 2024-11-21 22:17:59 +00:00
cache fixes
* make sure Item.updated is a datetime object * remove id column when creating Item objects in SqlCache
This commit is contained in:
parent
2d641ea183
commit
4c4dd3566b
|
@ -69,6 +69,7 @@ class Item:
|
||||||
def from_data(cls: type[Item], *args) -> Item:
|
def from_data(cls: type[Item], *args) -> Item:
|
||||||
data = cls(*args)
|
data = cls(*args)
|
||||||
data.value = deserialize_value(data.value, data.value_type)
|
data.value = deserialize_value(data.value, data.value_type)
|
||||||
|
data.updated = datetime.fromtimestamp(data.updated, tz = timezone.utc)
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
|
@ -153,6 +154,7 @@ class SqlCache(Cache):
|
||||||
if not (row := cur.one()):
|
if not (row := cur.one()):
|
||||||
raise KeyError(f'{namespace}:{key}')
|
raise KeyError(f'{namespace}:{key}')
|
||||||
|
|
||||||
|
row.pop('id', None)
|
||||||
return Item.from_data(*tuple(row.values()))
|
return Item.from_data(*tuple(row.values()))
|
||||||
|
|
||||||
|
|
||||||
|
@ -178,7 +180,9 @@ class SqlCache(Cache):
|
||||||
}
|
}
|
||||||
|
|
||||||
with self._db.connection() as conn:
|
with self._db.connection() as conn:
|
||||||
for row in conn.exec_statement('set-cache-item', params):
|
with conn.exec_statement('set-cache-item', params) as conn:
|
||||||
|
row = conn.one()
|
||||||
|
row.pop('id', None)
|
||||||
return Item.from_data(*tuple(row.values()))
|
return Item.from_data(*tuple(row.values()))
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue