Projekt:SpaceAPI Script: Unterschied zwischen den Versionen
Noqqe (Diskussion | Beiträge) (SpaceAPI Realisierung) |
Poschi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Am 32c3 habe ich mir gedacht, es wäre cool das K4CG im dezentralen | {{Infobox | ||
| maintainer = [[User:noqqe|noqqe]] | |||
| machine = [[Host:nixe.k4cg.org|nixe.k4cg.org]] | |||
| jahr = 2016 | |||
| status = [[Projekt:SpaceAPI_2.0|ersetzt]] | |||
}} | |||
'''[[Projekt:SpaceAPI_2.0|Siehe Nachfolgeprojekt]] DIESES PROJEKT WIRD NICHT LÄNGER BETRIEBEN UND INFORMATIONEN SIND OUTDATED''' | |||
Am 32c3 habe ich mir gedacht, es wäre cool das K4CG im dezentralen Hackspace Listing Directory [http://spaceapi.net spaceapi.net] aufzuführen | |||
=== Anforderungen === | === Anforderungen === | ||
Zeile 5: | Zeile 14: | ||
* JSON File auf Webserver bereitstellen | * JSON File auf Webserver bereitstellen | ||
Das JSON File enthält mehrere Informationen über den | Das JSON File enthält mehrere Informationen über den Hackspace. | ||
* Anschrift | * Anschrift | ||
Zeile 24: | Zeile 33: | ||
* Offen/Geschlossen Status | * Offen/Geschlossen Status | ||
==== Temperatur ==== | ==== Temperatur ==== |
Aktuelle Version vom 10. Oktober 2019, 20:44 Uhr
Projekt:SpaceAPI Script | |
Betreuer*In | noqqe |
Jahr | 2016 |
Läuft auf | nixe.k4cg.org |
Status | ersetzt |
Siehe Nachfolgeprojekt DIESES PROJEKT WIRD NICHT LÄNGER BETRIEBEN UND INFORMATIONEN SIND OUTDATED
Am 32c3 habe ich mir gedacht, es wäre cool das K4CG im dezentralen Hackspace Listing Directory spaceapi.net aufzuführen
Anforderungen
- JSON File auf Webserver bereitstellen
Das JSON File enthält mehrere Informationen über den Hackspace.
- Anschrift
- Koordinaten
- Projekte
- Kontakt
Realisierung
Auf Host:nixe.k4cg.org läuft ein Script unter /usr/local/spaceapi.py
dass über den Cronjob unter
/etc/nixos/services/cron.nix
alle 15 minuten den Status nach /var/www/spaceapi.k4cg.org/spaceapi.json
schreibt.
Scripting
Wir brauchen für uns zwei dynamische Inhalte
- Temperatur übergeben
- Offen/Geschlossen Status
Temperatur
Dafür wird eigentlich nur der Raspbi mit dem Thermometer im Space angesprochen, den wir auch schon für Stats verwenden.
temp = netcat("2001:a60:f073:0:76da:38ff:fe00:5e92", 31337, "9001").strip()
Öffnungszeiten
Um zu signalisieren, dass die K4CG offen hat, ist relativ statisch. Wir haben ja keinerlei Mechanismus wie Schliesstürsysteme oder sonstiges. Daher wird das jetzt statisch gemacht. Immer Donnerstags von 19:30 bis 23:30 wird die K4CG als "geöffnet" angezeigt.
def opentime(): status = "false" now = datetime.now() now_time = now.time() now_day = now.isoweekday() if now_day == 4: if now_time >= time(19,30) and now_time <= time(23,30): status = "true" return status status = opentime()