Projekt:SpaceAPI Script: Unterschied zwischen den Versionen

Aus k4cg.org
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
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]]
}}
}}


'''DIESES PROJEKT WIRD NICHT LÄNGER BETRIEBEN UND INFORMATIONEN SIND OUTDATED'''
'''[[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 Hackerspace Listing Directory [http://spaceapi.net spaceapi.net] aufzuführen
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 13: Zeile 14:
* JSON File auf Webserver bereitstellen
* JSON File auf Webserver bereitstellen


Das JSON File enthält mehrere Informationen über den Hackerspace.
Das JSON File enthält mehrere Informationen über den Hackspace.


* Anschrift  
* Anschrift  

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()