Difference between revisions of "SpaceAPI"

From Fixme.ch
Jump to: navigation, search
 
Line 14: Line 14:
  
 
== Components ==
 
== Components ==
* We are now hosting a fork of the SpaceAPI, because it was often down and the process to add new space is opaque
+
* We were hosting a fork of the SpaceAPI, because it was often down and the process to add new space is opaque
** This endpoint is used in MyHackerspace Android application
+
** This endpoint was used in MyHackerspace Android application
 
** It's available here: http://spaceapi.fixme.ch/directory.json
 
** It's available here: http://spaceapi.fixme.ch/directory.json
 +
** It has been taken by the SpaceApi org on github (swiss german ppl mainly)
 
* [https://github.com/fixme-lausanne/Twitter-Hackerspace-Status Sources on Github]
 
* [https://github.com/fixme-lausanne/Twitter-Hackerspace-Status Sources on Github]
 
** Python script on fixme.ch that serves the API on https://fixme.ch/status.json
 
** Python script on fixme.ch that serves the API on https://fixme.ch/status.json

Latest revision as of 17:01, 14 November 2019

Description

Components

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

Participant