Fix human_readable not handling UTC dates properly, add types-pytz

This commit is contained in:
2024-11-01 16:36:47 -05:00
parent daf9254596
commit 40669b8f08
4 changed files with 35 additions and 20 deletions

33
.vscode/settings.json vendored
View File

@@ -1,18 +1,17 @@
{
"cSpell.words": [
"apscheduler",
"bpython",
"Callsite",
"excepthook",
"inmemory",
"linkpulse",
"migratehistory",
"Nixpacks",
"starlette",
"structlog",
"timestamper"
],
"python.analysis.extraPaths": [
"./backend/"
]
}
"cSpell.words": [
"apscheduler",
"bpython",
"Callsite",
"excepthook",
"inmemory",
"linkpulse",
"migratehistory",
"Nixpacks",
"pytz",
"starlette",
"structlog",
"timestamper"
],
"python.analysis.extraPaths": ["./backend/"]
}

View File

@@ -4,11 +4,12 @@ import random
from collections import defaultdict
from contextlib import asynccontextmanager
from dataclasses import dataclass, field
from datetime import datetime
from datetime import datetime, timezone
from typing import AsyncIterator
from asgi_correlation_id import CorrelationIdMiddleware
import human_readable
import pytz
from apscheduler.schedulers.background import BackgroundScheduler # type: ignore
from apscheduler.triggers.interval import IntervalTrigger # type: ignore
from dotenv import load_dotenv
@@ -195,7 +196,10 @@ async def get_ips(request: Request, response: Response):
"ips": [
responses.SeenIP(
ip=hide_ip(ip.ip) if ip.ip != user_ip else ip.ip,
last_seen=human_readable.date_time(ip.last_seen),
last_seen=human_readable.date_time(
value=pytz.utc.localize(ip.last_seen),
when=datetime.now(timezone.utc),
),
count=ip.count,
)
for ip in latest_ips

13
backend/poetry.lock generated
View File

@@ -1027,6 +1027,17 @@ files = [
{file = "types_psycopg2-2.9.21.20241019-py3-none-any.whl", hash = "sha256:44d091e67732d16a941baae48cd7b53bf91911bc36888652447cf1ef0c1fb3f6"},
]
[[package]]
name = "types-pytz"
version = "2024.2.0.20241003"
description = "Typing stubs for pytz"
optional = false
python-versions = ">=3.8"
files = [
{file = "types-pytz-2024.2.0.20241003.tar.gz", hash = "sha256:575dc38f385a922a212bac00a7d6d2e16e141132a3c955078f4a4fd13ed6cb44"},
{file = "types_pytz-2024.2.0.20241003-py3-none-any.whl", hash = "sha256:3e22df1336c0c6ad1d29163c8fda82736909eb977281cb823c57f8bae07118b7"},
]
[[package]]
name = "typing-extensions"
version = "4.12.2"
@@ -1115,4 +1126,4 @@ files = [
[metadata]
lock-version = "2.0"
python-versions = "^3.12"
content-hash = "301e6babf2c3116cc910e1269a8d05d734fc9e8c8a80cd67767b331227c2a72d"
content-hash = "a0cc32861b71da789edc5df54e79239d6cca81cb3d14984a1306a3f92735589f"

View File

@@ -31,6 +31,7 @@ asgi-correlation-id = "^4.3.4"
[tool.poetry.group.dev.dependencies]
memory-profiler = "^0.61.0"
bpython = "^0.24"
types-pytz = "^2024.2.0.20241003"
[build-system]
requires = ["poetry-core"]