Merge pull request 'SpaceAPI on our homepage' (#86) from moke/Homepage:spaceapi into main
Reviewed-on: #86
BIN
assets/logo.png
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 18 KiB |
|
@ -90,6 +90,9 @@ latest_remote_sha () {
|
||||||
|
|
||||||
# do the build
|
# do the build
|
||||||
build_page() {
|
build_page() {
|
||||||
|
# sync logo with spaceapi
|
||||||
|
"python3" "$CLONE_DIR""/spaceapi.py" "$CLONE_DIR"
|
||||||
|
|
||||||
TMPDIR=$(mktemp -d -t hugo_build_XXXXX)
|
TMPDIR=$(mktemp -d -t hugo_build_XXXXX)
|
||||||
|
|
||||||
$HUGO_CMD \
|
$HUGO_CMD \
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
# Python Requirements
|
||||||
|
# python3
|
||||||
|
# requests
|
||||||
|
# shutil
|
||||||
|
|
||||||
|
import requests
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
path: str = sys.argv[1]
|
||||||
|
api: str = "https://api.dezentrale.cloud/spaceapi/v14"
|
||||||
|
space_open: str = path + "/assets/logo_open"
|
||||||
|
space_closed: str = path + "/assets/logo_closed"
|
||||||
|
space_unknown: str = path + "/assets/logo_unknown"
|
||||||
|
space_logo: str = path + "/assets/logo"
|
||||||
|
|
||||||
|
extensions: list[str] = [".png", ".svg"]
|
||||||
|
|
||||||
|
# every extension needs to be linked
|
||||||
|
def link(src: str, dest: str):
|
||||||
|
for ext in extensions:
|
||||||
|
try:
|
||||||
|
os.symlink(src + ext, dest + ext)
|
||||||
|
print("linked " + dest + ext + " to " + src + ext)
|
||||||
|
except:
|
||||||
|
print("cannot link " + dest + ext + " to " + src + ext)
|
||||||
|
|
||||||
|
def delete(file: str):
|
||||||
|
for ext in extensions:
|
||||||
|
try:
|
||||||
|
os.remove(file + ext)
|
||||||
|
print("deleted " + file + ext)
|
||||||
|
except:
|
||||||
|
try:
|
||||||
|
os.unlink(file + ext)
|
||||||
|
print("unlinked "+ file + ext)
|
||||||
|
except:
|
||||||
|
print(file + ext + " is already deleted and unlinked")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
delete(space_logo)
|
||||||
|
try:
|
||||||
|
resp: requests.Response = requests.get(api)
|
||||||
|
resp_dict: dict = resp.json()
|
||||||
|
|
||||||
|
door_open: bool = resp_dict.get("state").get("open")
|
||||||
|
print(door_open)
|
||||||
|
|
||||||
|
path = ""
|
||||||
|
if door_open:
|
||||||
|
path = space_open
|
||||||
|
else:
|
||||||
|
path = space_closed
|
||||||
|
# the linking seems to be the wrong way around, but it links correct
|
||||||
|
# the link is pointing from dest to src (https://docs.python.org/3/library/os.html)
|
||||||
|
link(path, space_logo)
|
||||||
|
except:
|
||||||
|
link(space_unknown, space_logo)
|