Skip to content

Commit f399412

Browse files
committed
Normalize timestamps
1 parent 7f29e2d commit f399412

2 files changed

Lines changed: 4 additions & 6 deletions

File tree

root/app/keyvaluestore.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,13 @@ def __exit__(self, exc_type, exc_val, exc_tb):
3333
self.conn.commit()
3434
self.conn.close()
3535
def __contains__(self, key):
36-
where_clause = "" if self.invalidate_hours == 0 else f" AND updated_at >= DATETIME('now', '-{self.invalidate_hours} hours')"
36+
where_clause = "" if self.invalidate_hours == 0 else f" AND updated_at >= DATETIME('now', '-{self.invalidate_hours} hours', 'utc')"
3737
return self.conn.execute(f"SELECT 1 FROM kv WHERE key = '{key}' {where_clause}").fetchone() is not None
3838
def __getitem__(self, key):
3939
item = self.conn.execute("SELECT value FROM kv WHERE key = ?", (key,)).fetchone()
4040
return item[0] if item else None
41-
def get_updated_at(self, key):
42-
item = self.conn.execute("SELECT updated_at FROM kv WHERE key = ?", (key,)).fetchone()
43-
return item[0] if item else None
4441
def set_value(self, key, value, schema_version):
45-
self.conn.execute("REPLACE INTO kv (key, value, updated_at, schema_version) VALUES (?, ?, CURRENT_TIMESTAMP, ?)", (key, value, schema_version))
42+
self.conn.execute("REPLACE INTO kv (key, value, updated_at, schema_version) VALUES (?, ?, DATETIME('now', 'utc'), ?)", (key, value, schema_version))
4643
self.conn.commit()
4744
def update_schema(self, key, schema_version):
4845
is_updated = self.conn.execute(f"SELECT 1 FROM kv WHERE key = '{key}' AND schema_version = {schema_version}").fetchone() is not None

root/app/updater.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,8 @@ def update_images():
203203
continue
204204
images.append(image)
205205
data = ImagesData(repositories=Repository(linuxserver=images))
206-
response = ImagesResponse(status="OK", last_updated=kv.get_updated_at("images"), data=data)
206+
last_updated = datetime.datetime.now(datetime.timezone.utc).isoformat(' ', 'seconds')
207+
response = ImagesResponse(status="OK", last_updated=last_updated, data=data)
207208
new_state = response.model_dump_json(exclude_none=True)
208209
kv.set_value("images", new_state, IMAGES_SCHEMA_VERSION)
209210
print(f"{datetime.datetime.now()} - updated images")

0 commit comments

Comments
 (0)