Projekt:SpaceAPI Script: Unterschied zwischen den Versionen

Aus k4cg.org
K
 
Zeile 3: Zeile 3:
 
| machine = [[Host:nixe.k4cg.org|nixe.k4cg.org]]
 
| machine = [[Host:nixe.k4cg.org|nixe.k4cg.org]]
 
| jahr = 2016
 
| jahr = 2016
 +
| status = [[Projekt:SpaceAPI_2.0|ersetzt]]
 
}}
 
}}
  

Aktuelle Version vom 10. Oktober 2019, 21: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()