Fix date representation in FeedItem #38

Merged
Miroslavsckaya merged 5 commits from fix_date_in_FeedItem into master 2022-07-10 14:40:20 +00:00
3 changed files with 13 additions and 6 deletions

View file

@ -37,3 +37,10 @@ export TELEGRAM_TOKEN=xxx
export DATABASE_PATH=./database.db export DATABASE_PATH=./database.db
python bot.py python bot.py
``` ```
## Running the update
```shell
export TELEGRAM_TOKEN=xxx
export DATABASE_PATH=./database.db
python update.py
```

5
rss.py
View file

@ -1,5 +1,6 @@
from logging import Logger from logging import Logger
from datetime import datetime
from time import mktime
from feedparser import FeedParserDict, parse from feedparser import FeedParserDict, parse
@ -9,7 +10,7 @@ class FeedItem:
self.title = item.get('title', '') self.title = item.get('title', '')
self.description = item.get('summary', '') self.description = item.get('summary', '')
if 'published' in item: if 'published' in item:
self.date = item.published_parsed self.date = datetime.fromtimestamp(mktime(item.published_parsed))
else: else:
self.date = None self.date = None

View file

@ -1,7 +1,6 @@
import time import time
from bleach.sanitizer import Cleaner
from logging import Logger from logging import Logger
from bleach.sanitizer import Cleaner
from telebot import TeleBot from telebot import TeleBot
from telebot.handler_backends import BaseMiddleware from telebot.handler_backends import BaseMiddleware
from telebot.types import Message from telebot.types import Message
@ -164,8 +163,8 @@ class Notifier:
def __format_message(self, item: FeedItem) -> str: def __format_message(self, item: FeedItem) -> str:
return ( return (
# TODO: Return date when FeedItem starts to return formattable datetime object f"<strong><a href=\"{item.url}\">{item.title}</a></strong>\n"
f"<strong><a href=\"{item.url}\">{item.title}</a></strong>\n\n" f"{item.date.strftime('%m.%d.%Y %H:%M')}\n\n"
f"{self.__sanitize_html(item.description)}" f"{self.__sanitize_html(item.description)}"
) )