Prechádzať zdrojové kódy

Move ZoneInfo to ArchiveCollection structure

jherve 1 rok pred
rodič
commit
f3c3df0a5a

+ 2 - 0
src/de_quoi_parle_le_monde/article.py

@@ -4,6 +4,7 @@ from attrs import frozen, field, validators
 import cattrs
 from bs4 import BeautifulSoup
 from yarl import URL
+from zoneinfo import ZoneInfo
 
 from de_quoi_parle_le_monde.internet_archive import InternetArchiveSnapshot
 
@@ -114,6 +115,7 @@ class MainPage(ABC):
 class ArchiveCollection:
     name: str
     url: str
+    tz: ZoneInfo
     MainPageClass: type[MainPage]
     logo_background_color: str
     logo_src: str | None = None

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 8 - 0
src/de_quoi_parle_le_monde/medias/__init__.py


+ 6 - 4
src/de_quoi_parle_le_monde/snapshots.py

@@ -37,12 +37,14 @@ class SnapshotSearchJob(Job):
 
     @classmethod
     def create(cls, n_days: int, hours: list[int]):
-        dts = cls.last_n_days_at_hours(n_days, hours)
-        return [cls(unique_id(), c, d) for d in dts for c in media_collection.values()]
+        return [
+            cls(unique_id(), c, d)
+            for c in media_collection.values()
+            for d in cls.last_n_days_at_hours(n_days, hours, c.tz)
+        ]
 
     @staticmethod
-    def last_n_days_at_hours(n: int, hours: list[int]) -> list[datetime]:
-        tz = ZoneInfo("Europe/Paris")
+    def last_n_days_at_hours(n: int, hours: list[int], tz: ZoneInfo) -> list[datetime]:
         now = datetime.now(tz)
 
         return [