#!/usr/bin/env python3 import json import datetime import requests from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler def run(): schedule = requests.get('https://api.events.ccc.de/congress/2025/schedule.json').json() # json.load(open('schedule.json', 'r')) talks = [] for day in schedule['schedule']['conference']['days']: for room in ['Zero', 'One', 'Fuse', 'Ground']: #day['rooms']: talks += day['rooms'][room] talks.sort(key=lambda talk: talk['date']) now = datetime.datetime.now() upcoming = [] for talk in talks: if datetime.datetime.fromisoformat(talk['date']).timestamp() < now.timestamp(): continue upcoming.append({'start': talk['start'], 'room': talk['room'], 'title': talk['title']}) return json.dumps(upcoming) class Handler(BaseHTTPRequestHandler): def do_GET(self): data = run().encode("utf-8") self.send_response(200) self.send_header("Content-Type", "text/plain; charset=utf-8") self.send_header("Content-Length", str(len(data))) self.end_headers() self.wfile.write(data) if __name__ == '__main__': server = ThreadingHTTPServer(("0.0.0.0", 8000), Handler) server.serve_forever()