summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/sub_api.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/scripts/sub_api.py b/scripts/sub_api.py
new file mode 100644
index 0000000..fb847ed
--- /dev/null
+++ b/scripts/sub_api.py
@@ -0,0 +1,30 @@
+#!/usr/bin/python
+
+import json
+import urllib
+
+import os.path
+
+base_path = os.path.realpath(os.path.dirname(__file__))
+base_path = os.path.join(base_path, '..')
+
+#declarations
+
+input_url = "http://taifun.local.sublab.org/subcan.json"
+json_template = os.path.join(base_path, "template", "template.spaceapi.json")
+output_file = os.path.join(base_path, "public", "sublab_status.json")
+status_dict = { "open" : True , "closed" : False }
+
+#read door status
+status_json = json.load(urllib.urlopen(input_url))
+door_status = status_json["door.lock"]["text"]
+
+#fill status in template
+sublab_status = json.load(open(json_template))
+sublab_status["open"] = status_dict[door_status]
+
+#atomically place new status
+new_output_file = output_file + '.new'
+with open(new_output_file, "w") as status_file:
+ status_file.write(json.dumps(sublab_status, sort_keys=True, indent=4))
+os.rename(new_output_file, output_file)