From 305f0fa99f587d069281b3aa6d864ef3dc21490b Mon Sep 17 00:00:00 2001 From: polyfloyd Date: Mon, 12 May 2025 21:00:07 +0200 Subject: [PATCH] Update to SpaceAPI schema 15 --- server.py | 38 +++++++++++++++++++++++--------------- server_test.py | 3 +-- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/server.py b/server.py index 26da91f..f080c6c 100755 --- a/server.py +++ b/server.py @@ -1,11 +1,11 @@ #!/usr/bin/env python3 -import paho.mqtt.client as mqtt import time + +import paho.mqtt.client as mqtt import tornado.ioloop import tornado.web - PORT = 8888 BASE_URL = "https://bitlair.nl/state" MQTT_HOST = "bitlair.nl" @@ -18,25 +18,21 @@ current_state_change = time.time() def state(): global current_state, current_state_change return { - "api": "0.13", + "api_compatibility": ["15"], "space": "Bitlair", "logo": BASE_URL + "/logo.png", "url": "https://bitlair.nl/", - "contact": { - "irc": "irc://irc.smurfnet.ch/bitlair", - "twitter": "@bitlair", - "email": "bestuur@bitlair.nl", - "ml": "general@list.bitlair.nl", - }, - "spacefed": { - "spacenet": True, - "spacesaml": True, - "spacephone": False, - }, "location": { "address": "Nijverheidsweg-Noord 77, 3812 PK Amersfoort, The Netherlands", "lat": 52.1697399, "lon": 5.3561364, + "timezone": "Europe/Amsterdam", + "country_code": "NL", + "hint": "Ingang aan de oost-zijde van het pand, blauwe deur", + }, + "spacefed": { + "spacenet": True, + "spacesaml": True, }, "state": { "open": current_state, @@ -45,6 +41,7 @@ def state(): "open": BASE_URL + "/open.png", "closed": BASE_URL + "/closed.png", }, + # mqtt is out-of-spec "mqtt": { "host": "bitlair.nl", "port": 1883, @@ -54,7 +51,18 @@ def state(): "open": "open", }, }, - "issue_report_channels": ["twitter"], + "contact": { + "irc": "irc://irc.smurfnet.ch/bitlair", + "mastodon": "@bitlair@hsnl.social", + "email": "bestuur@bitlair.nl", + "ml": "general@list.bitlair.nl", + }, + "feeds": { + "calendar": { + "type": "ical", + "url": "https://bitlair.nl/events.ics", + }, + }, } diff --git a/server_test.py b/server_test.py index fd800d0..b55c2cc 100644 --- a/server_test.py +++ b/server_test.py @@ -1,13 +1,12 @@ import requests from jsonschema import validate - import server def test_schema_compliance(): resp = requests.get( - "https://raw.githubusercontent.com/SpaceApi/schema/refs/heads/master/13.json" + "https://raw.githubusercontent.com/SpaceApi/schema/refs/heads/master/15.json" ) resp.raise_for_status() schema = resp.json()