From 6b7ae95c1f9f197695b847a99bdc60a0cb7cf056 Mon Sep 17 00:00:00 2001 From: Mike Lang Date: Sat, 24 May 2025 12:20:13 +1000 Subject: [PATCH] prizebot: make it work for years besides 2024 --- docker-compose.jsonnet | 1 + zulip_bots/zulip_bots/prizebot.py | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/docker-compose.jsonnet b/docker-compose.jsonnet index 7a1ee87..060cef7 100644 --- a/docker-compose.jsonnet +++ b/docker-compose.jsonnet @@ -353,6 +353,7 @@ prizebot:: { email: "blog-bot@chat.videostrike.team", api_key: "", + year: "2024", state: "/prizebot_state.json", // Path in host fs for the state file. // Must exist and be initialized to "{}" diff --git a/zulip_bots/zulip_bots/prizebot.py b/zulip_bots/zulip_bots/prizebot.py index 044e088..3b89c2f 100644 --- a/zulip_bots/zulip_bots/prizebot.py +++ b/zulip_bots/zulip_bots/prizebot.py @@ -15,8 +15,8 @@ from .zulip import Client Prize = namedtuple("Prize", ["id", "link", "type", "title", "state", "result"]) -def get_prizes(type): - resp = requests.get(f"https://desertbus.org/2024/prizes/{type}", {"User-Agent": ""}) +def get_prizes(year, type): + resp = requests.get(f"https://desertbus.org/{year}/prizes/{type}", {"User-Agent": ""}) resp.raise_for_status() html = BeautifulSoup(resp.content.decode(), "html.parser") @@ -73,6 +73,7 @@ def main(config_file, test=False, all=False, once=False, interval=60): """ Config: url, email, api_key: zulip creds + year: the correct URL part for the prizes page: https://desertbus.org/YEAR/prizes/giveaway state: path to state file """ config = get_config(config_file) @@ -83,7 +84,7 @@ def main(config_file, test=False, all=False, once=False, interval=60): while True: start = time.time() for type in ('live', 'silent', 'giveaway'): - prizes = get_prizes(type) + prizes = get_prizes(config['year'], type) for prize in prizes: logging.info(f"Got prize: {prize}") if prize.state == "sold" and (all or state.get(prize.id, "sold") != "sold"):