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": [ "cSpell.words": [
"apscheduler", "apscheduler",
"bpython", "bpython",
"Callsite", "Callsite",
"excepthook", "excepthook",
"inmemory", "inmemory",
"linkpulse", "linkpulse",
"migratehistory", "migratehistory",
"Nixpacks", "Nixpacks",
"starlette", "pytz",
"structlog", "starlette",
"timestamper" "structlog",
], "timestamper"
"python.analysis.extraPaths": [ ],
"./backend/" "python.analysis.extraPaths": ["./backend/"]
] }
}

View File

@@ -4,11 +4,12 @@ import random
from collections import defaultdict from collections import defaultdict
from contextlib import asynccontextmanager from contextlib import asynccontextmanager
from dataclasses import dataclass, field from dataclasses import dataclass, field
from datetime import datetime from datetime import datetime, timezone
from typing import AsyncIterator from typing import AsyncIterator
from asgi_correlation_id import CorrelationIdMiddleware from asgi_correlation_id import CorrelationIdMiddleware
import human_readable import human_readable
import pytz
from apscheduler.schedulers.background import BackgroundScheduler # type: ignore from apscheduler.schedulers.background import BackgroundScheduler # type: ignore
from apscheduler.triggers.interval import IntervalTrigger # type: ignore from apscheduler.triggers.interval import IntervalTrigger # type: ignore
from dotenv import load_dotenv from dotenv import load_dotenv
@@ -195,7 +196,10 @@ async def get_ips(request: Request, response: Response):
"ips": [ "ips": [
responses.SeenIP( responses.SeenIP(
ip=hide_ip(ip.ip) if ip.ip != user_ip else ip.ip, 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, count=ip.count,
) )
for ip in latest_ips 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"}, {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]] [[package]]
name = "typing-extensions" name = "typing-extensions"
version = "4.12.2" version = "4.12.2"
@@ -1115,4 +1126,4 @@ files = [
[metadata] [metadata]
lock-version = "2.0" lock-version = "2.0"
python-versions = "^3.12" 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] [tool.poetry.group.dev.dependencies]
memory-profiler = "^0.61.0" memory-profiler = "^0.61.0"
bpython = "^0.24" bpython = "^0.24"
types-pytz = "^2024.2.0.20241003"
[build-system] [build-system]
requires = ["poetry-core"] requires = ["poetry-core"]