diff options
author | Kyomotoi <[email protected]> | 2023-01-18 00:40:50 +0800 |
---|---|---|
committer | Kyomotoi <[email protected]> | 2023-01-18 00:40:50 +0800 |
commit | 296dbc555c2a64a1d912c6d60eed48e5d0cd609c (patch) | |
tree | 45fbf53775bbdadb8c84756af8ca628e8754ab6e /ATRI/plugins/rss | |
parent | 7c287eadc2ff30b7449e0cd50fee78f7636f3bd3 (diff) | |
download | ATRI-296dbc555c2a64a1d912c6d60eed48e5d0cd609c.tar.gz ATRI-296dbc555c2a64a1d912c6d60eed48e5d0cd609c.tar.bz2 ATRI-296dbc555c2a64a1d912c6d60eed48e5d0cd609c.zip |
🎨 移除对 pytz 的依赖
Diffstat (limited to 'ATRI/plugins/rss')
-rw-r--r-- | ATRI/plugins/rss/rss_mikanan/__init__.py | 14 | ||||
-rw-r--r-- | ATRI/plugins/rss/rss_rsshub/__init__.py | 40 |
2 files changed, 33 insertions, 21 deletions
diff --git a/ATRI/plugins/rss/rss_mikanan/__init__.py b/ATRI/plugins/rss/rss_mikanan/__init__.py index fb4b23c..cf4463b 100644 --- a/ATRI/plugins/rss/rss_mikanan/__init__.py +++ b/ATRI/plugins/rss/rss_mikanan/__init__.py @@ -1,7 +1,6 @@ -import pytz import asyncio from tabulate import tabulate -from datetime import timedelta, datetime +from datetime import datetime, timedelta, timezone as tz from apscheduler.triggers.base import BaseTrigger from apscheduler.triggers.combining import AndTrigger @@ -136,10 +135,11 @@ async def _(): data: RssMikananiSubcription = tq.get_nowait() log.info(f"准备查询 Mikan: {data.title} 的动态, 队列剩余 {tq.qsize()}") - raw_ts = data.update_time.replace( - tzinfo=pytz.timezone("Asia/Shanghai") - ) + timedelta(hours=8) - ts = raw_ts.timestamp() + # raw_ts = data.update_time.replace( + # tzinfo=pytz.timezone("Asia/Shanghai") + # ) + timedelta(hours=8) + # ts = raw_ts.timestamp() + ts = data.update_time.timestamp() info = await sub.get_mikan_info(data.rss_link) if not info: @@ -167,5 +167,5 @@ async def _(): bot = get_bot() await bot.send_group_msg(group_id=data.group_id, message=repo) await sub.update_sub( - data._id, data.group_id, {"update_time": TimeDealer(m_t).to_datetime()} + data._id, data.group_id, {"update_time": TimeDealer(m_t, tz(timedelta(hours=8))).to_datetime()} ) diff --git a/ATRI/plugins/rss/rss_rsshub/__init__.py b/ATRI/plugins/rss/rss_rsshub/__init__.py index 137ec88..284ddb5 100644 --- a/ATRI/plugins/rss/rss_rsshub/__init__.py +++ b/ATRI/plugins/rss/rss_rsshub/__init__.py @@ -1,7 +1,7 @@ -import pytz +# from dateutil import tz import asyncio from tabulate import tabulate -from datetime import timedelta, datetime +from datetime import datetime, timedelta, timezone as tz from apscheduler.triggers.base import BaseTrigger from apscheduler.triggers.combining import AndTrigger @@ -17,6 +17,7 @@ from ATRI.log import log from ATRI.service import Service from ATRI.permission import ADMIN from ATRI.utils import TimeDealer +from ATRI.message import MessageBuilder from ATRI.utils.apscheduler import scheduler from ATRI.database import RssRsshubSubcription @@ -97,7 +98,10 @@ async def _(event: GroupMessageEvent): subs = list() for i in query_result: - subs.append([i.update_time, i.title]) + t = i.update_time.replace( + tzinfo=tz(timedelta(hours=8)) + ) + subs.append([t, i.title]) output = "本群的 RSSHub 订阅列表如下~\n" + tabulate( subs, headers=["最后更新时间", "标题"], tablefmt="plain" @@ -135,10 +139,12 @@ async def _(): m: RssRsshubSubcription = tq.get_nowait() log.info(f"准备查询 RssHub: {m.rss_link} 的动态, 队列剩余 {tq.qsize()}") - raw_ts = m.update_time.replace( - tzinfo=pytz.timezone("Asia/Shanghai") - ) + timedelta(hours=8) - ts = raw_ts.timestamp() + # raw_ts = m.update_time.replace( + # tzinfo=pytz.timezone("Asia/Shanghai") + # ) + timedelta(hours=8) + # ts = raw_ts.timestamp() + ts = m.update_time.timestamp() + log.info(f"db time: {ts}") info: dict = await sub.get_rsshub_info(m.rss_link) if not info: @@ -148,21 +154,27 @@ async def _(): t_time = info["item"][0]["pubDate"] time_patt = "%a, %d %b %Y %H:%M:%S GMT" - raw_t = datetime.strptime(t_time, time_patt) + timedelta(hours=8) - ts_t = raw_t.timestamp() + # raw_t = datetime.strptime(t_time, time_patt) + timedelta(hours=8) + # ts_t = raw_t.timestamp() + log.info(f"rsshub time: {t_time}") + ts_t = datetime.strptime(t_time, time_patt).timestamp() + log.info(f"rsshub time: {ts_t}") if ts < ts_t: item = info["item"][0] title = item["title"] link = item["link"] - repo = f"""本群订阅的 RssHub 更新啦! - {title} - {link} - """ + repo = ( + MessageBuilder("本群订阅的 RssHub 更新啦!") + .text(f"标题: {title}") + .text( + f"链接: {link}".replace("https://", str()).replace("http://", str()) + ) + ) bot = get_bot() await bot.send_group_msg(group_id=m.group_id, message=repo) await sub.update_sub( - m._id, m.group_id, {"update_time": TimeDealer(ts_t).to_datetime()} + m._id, m.group_id, {"update_time": TimeDealer(ts_t, tz(timedelta(hours=0))).to_datetime()} ) |