adding caching to presque gratos
This commit is contained in:
@@ -21,10 +21,13 @@ from bs4 import BeautifulSoup
|
||||
from logging.handlers import RotatingFileHandler
|
||||
from datetime import datetime, timedelta, timezone
|
||||
import zoneinfo
|
||||
from storage import Storage
|
||||
from keys import xgp_key
|
||||
|
||||
LOG = logging.getLogger("bot_weekly")
|
||||
LOG_PATTERN = logging.Formatter("%(asctime)s:%(levelname)s: [%(filename)s] %(message)s")
|
||||
|
||||
|
||||
def setuplogger():
|
||||
stream_handler = logging.StreamHandler()
|
||||
stream_handler.setFormatter(LOG_PATTERN)
|
||||
@@ -505,6 +508,7 @@ def build_html(egs: List[Dict[str, Any]],
|
||||
parts.append("</div>")
|
||||
|
||||
# --- Xbox Game Pass
|
||||
|
||||
parts.append("<h3>🟩 Xbox Game Pass — Récemment ajoutés</h3>")
|
||||
if not xgp:
|
||||
parts.append("<p>Pas d'entrées détectées.</p>")
|
||||
@@ -568,6 +572,23 @@ async def run_weekly():
|
||||
LOG.warning("XGP fetch failed: %s", e)
|
||||
|
||||
# Build HTML
|
||||
store = Storage()
|
||||
|
||||
def keep_new(items, key_fn):
|
||||
fresh = []
|
||||
for it in items:
|
||||
k = key_fn(it)
|
||||
|
||||
if not store.seen(k):
|
||||
|
||||
it["_dedup_key"] = k
|
||||
fresh.append(it)
|
||||
return fresh
|
||||
|
||||
# Fetch your three sources as you already do:
|
||||
|
||||
xgp_items = keep_new(xgp_items, xgp_key)
|
||||
|
||||
html_body, feature = build_html(egs_items, psplus_data, xgp_items)
|
||||
# Title (FR)
|
||||
start = (datetime.now(TZ) - timedelta(days=6)).strftime("%d/%m/%Y")
|
||||
|
||||
Reference in New Issue
Block a user