From ce44a0f2482f84471f08f15c7f8fccff5ab416dc Mon Sep 17 00:00:00 2001 From: bvn13 Date: Wed, 16 Oct 2024 23:47:00 +0300 Subject: [PATCH] added time representation --- pyproject.toml | 1 + src/server.py | 11 ++++++++++- src/templates/index.html | 8 ++++++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 8f43808..323bfad 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,6 +15,7 @@ urllib3 = "^2.2.3" tornado = "^6.4.1" asyncio = "^3.4.3" scheduler = "^0.8.7" +pytz = "^2024.2" [tool.poetry.scripts] rss-feedler = "src.app:start" diff --git a/src/server.py b/src/server.py index 5ca4882..b0bd9a7 100644 --- a/src/server.py +++ b/src/server.py @@ -4,14 +4,23 @@ from argparse import Namespace import tornado from src.logger import logger as l import src.stats as stats +from datetime import datetime +from zoneinfo import ZoneInfo def start_server(settings: list, args: Namespace) -> None: logger = l.getChild(__name__) + local_format = "%Y-%m-%d %H:%M:%S" + local_tz = ZoneInfo('Europe/Moscow') + def _get_all_feeds(): return [{ 'rss': sets['name'], 'file': f"/feeds/{sets['rss']}" } for sets in settings if os.path.isfile(f"{args.directory}/{sets['rss']}")] + def _local_now() -> datetime: + dt = stats.get_last_modified_at() + local_dt = dt.astimezone(local_tz) + return local_dt class MainHandler(tornado.web.RequestHandler): def set_default_headers(self): @@ -20,7 +29,7 @@ def start_server(settings: list, args: Namespace) -> None: self.set_header('Access-Control-Allow-Methods', 'GET, OPTIONS') def get(self): - self.render("index.html", feeds=_get_all_feeds(), last_modified_at=stats.get_last_modified_at()) + self.render("index.html", feeds=_get_all_feeds(), last_modified_at=_local_now().strftime(local_format), tz=f"{local_tz}") async def start_web_server(): diff --git a/src/templates/index.html b/src/templates/index.html index 3271a3d..d29d2aa 100644 --- a/src/templates/index.html +++ b/src/templates/index.html @@ -2,17 +2,21 @@ - Tornado Chat Demo + RSS feedler +

Feeds available:

-

Last modified at: {{ last_modified_at }}

+

Last modified at: {{ last_modified_at }}, {{ tz }}

    {% for feed in feeds %} {% module Template("feed.html", feed=feed) %} {% end %}
+ \ No newline at end of file