Difference between revisions of "SpaceAPI"
From Fixme.ch
(→Description) |
|||
Line 1: | Line 1: | ||
[[Category:Ongoing_Projects]] | [[Category:Ongoing_Projects]] | ||
== Description == | == Description == | ||
− | * Accessible here | + | * Accessible here |
+ | **https://fixme.ch/cgi-bin/spaceapi.py | ||
+ | **https://fixme.ch/status.json | ||
* Provide a simple API to know whether the hackerspace is open or closed | * Provide a simple API to know whether the hackerspace is open or closed | ||
* Implements the [https://hackerspaces.nl/spaceapi/ Space API] | * Implements the [https://hackerspaces.nl/spaceapi/ Space API] |
Revision as of 11:31, 15 May 2013
Description
- Accessible here
- Provide a simple API to know whether the hackerspace is open or closed
- Implements the Space API
Components
- Sources on Github
- Python script on fixme.ch that serves the API
- Perl script that put the status in a Mysql DB (from the RFID_Doorlock or from a computer)
- A Drupal module to show the status on the main website
- Android application using SpaceAPI directory (WorkInProgress)
Dummy script to lookup the status
#!/usr/bin/env python3 import urllib.request import json URL = "https://fixme.ch/cgi-bin/spaceapi.py" def get_json(): try: con = urllib.request.urlopen(URL) content = con.read() hs_json = json.loads(content.decode('utf8')) return hs_json except IOError: print("A network error occured sorry") exit(1) except ValueError: print("Malformatted json") def print_info(hs_json): if hs_json['open']: print("OPENENENENEN") print("status is : {status}".format(**hs_json)) print("the changes happens at {lastchange}".format(**hs_json)) print("The duration is {duration} hours".format(**hs_json)) else: print("The hackerspace is closed") json = get_json() try: print_info(json) except: pass