helper webservice

This commit is contained in:
Felix Pankratz 2025-12-20 13:33:59 +01:00
parent 73c6f13b0e
commit c48ed23155

40
fahrplan/schedhelp.py Normal file
View File

@ -0,0 +1,40 @@
#!/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()