From bf2262a5640e2637ae43a37a9d8c099f5f190907 Mon Sep 17 00:00:00 2001 From: Michael Woods Date: Sat, 15 Feb 2025 20:55:06 -0500 Subject: [PATCH] Bulletin client complete for now. --- src/packetserver/client/bulletins.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/packetserver/client/bulletins.py b/src/packetserver/client/bulletins.py index 3f4fb09..32665bf 100644 --- a/src/packetserver/client/bulletins.py +++ b/src/packetserver/client/bulletins.py @@ -49,4 +49,18 @@ def get_bulletin_by_id(client: Client, bbs_callsign: str, bid: int) -> BulletinW response = client.send_receive_callsign(req, bbs_callsign) if response.status_code != 200: raise RuntimeError(f"Sending job failed: {response.status_code}: {response.payload}") - return BulletinWrapper(response.payload) \ No newline at end of file + return BulletinWrapper(response.payload) + +def get_bulletins_recent(client: Client, bbs_callsign: str, limit: int = None) -> list[BulletinWrapper]: + req = Request.blank() + req.path = "bulletin" + req.method = Request.Method.GET + if limit is not None: + req.set_var('limit', limit) + response = client.send_receive_callsign(req, bbs_callsign) + if response.status_code != 200: + raise RuntimeError(f"Sending job failed: {response.status_code}: {response.payload}") + out_list = [] + for b in response.payload: + out_list.append(BulletinWrapper(b)) + return out_list \ No newline at end of file