From 898049b92b34a84af470088ccf77e45f3787a470 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Malte=20M=C3=BCnch?= Date: Thu, 30 Jan 2020 01:53:33 +0100 Subject: [PATCH] config created --- conf.yml | 127 +++++++++++++++++++++++++++++++++++++++++++++ dots.svg | 2 + get_coordinates.py | 23 ++++++-- locations.bin | Bin 5685 -> 11468 bytes 4 files changed, 147 insertions(+), 5 deletions(-) create mode 100644 conf.yml create mode 100644 dots.svg diff --git a/conf.yml b/conf.yml new file mode 100644 index 0000000..beb9b07 --- /dev/null +++ b/conf.yml @@ -0,0 +1,127 @@ +led0: + - https://www.devtal.de/api/ +led1: + - https://www.binary-kitchen.de/spaceapi.php +led2: + - https://status.aachen.ccc.de/spaceapi +led3: + - https://schalter.ccchb.de/spaceapi.json +led4: + - https://api.koeln.ccc.de +led5: + - https://www.ccc-mannheim.de/spaceapi/spaceapi.json +led6: + - http://cccfr.de/status/spaceapi.py +led7: + - http://chaos-consulting.de/api/space.api +led8: + - https://status.chaospott.de/status.json +led9: + - https://chaoschemnitz.de/chch.json +led10: + - https://www.ccc-p.org/spaceapi.json +led11: + - http://doorstatus.c3re.de/status/json +led12: + - http://status.ctdo.de/api/spaceapi/v13 +led13: + - https://status.diyww.de/status.json +led14: + - http://club.entropia.de/spaceapi +led15: + - https://fablab.fau.de/spaceapi/ +led16: + - https://spaceapi.futev.de/spaceapi.json +led17: + - https://freieslabor.org/api/info +led18: + - https://hackerspace-bielefeld.de/spacestatus/status.json +led19: + - https://hacklabor.de/api/space/v1/ +led20: + - http://spaceapi.hacksaar.de/status.json +led21: + - https://status.hasi.it/spaceapi +led22: + - https://status.kraut.space/api +led23: + - http://status.leinelab.org/api/spaceapi.json +led24: + - http://status.mainframe.io/api/spaceInfo +led25: + - http://spaceapi.n39.eu/json +led26: + - http://netzladen.org/api/status.json +led27: + - https://api.nerd2nerd.org/status.json +led28: + - https://cccgoe.de/spaceapi.php +led29: + - http://api.openlab-augsburg.de/data.json +led30: + - https://werkraum.freiraumzittau.de/spaceapi/13/ +led31: + - https://spaceapi.reaktor23.org +led32: + - http://status.stratum0.org/status.json +led33: + - https://api.warpzone.ms/spaceapi +led34: + - https://hsmr.cc/spaceapi.json +led35: + - https://status.bckspc.de/spacestatus.php +led36: + - http://stats.bytewerk.org/status.json +led37: + - https://api.flipdot.org/ +led38: + - https://spaceapi.hackzogtum-coburg.de +led39: + - https://state.maglab.space/spaceapi.json +led40: + - http://nobreakspace.org/status/spaceapi.json +led41: + - https://bodensee.space/spaceapi/see-base.json +led42: + - https://api.shackspace.de/v1/spaceapi +led43: + - https://verschwoerhaus.de/feed/spaceapi +led44: + - https://vspace.one/spaceapi.json +led45: + - https://keinanschluss.un-hack-bar.de/spaceapi.json +led46: + - https://www.hackerspace-sw.de/spaceapi.json +led47: + - https://hamburg.ccc.de/dooris/status.json + - http://blog.attraktor.org/spaceapi/spaceapi.json +led48: + - https://status.makerspace-erfurt.de/status.json + - http://status.bytespeicher.org/status.json +led49: + - http://status.munichmakerlab.de/spaceapi.php + - http://api.muc.ccc.de/spaceapi.json +led50: + - http://api.terminal21.de + - http://api.terminal21.de/status_ebk.json +led51: + - https://fnord.istsystemrelevant.de/spaceapi.json + - https://chaosdorf.de/space_api.json +led52: + - http://spaceapi.nordlab-ev.de + - https://api.chaostreff-flensburg.de/ +led53: + - http://www.space-left.org/spaceapi13.json + - https://das-labor.org/status/api +led54: + - http://www.turmlabor.de/spaces.api + - https://www.c3d2.de/spaceapi.json +led55: + - http://spaceapi.k4cg.org/spaceapi.json + - http://api.fablab-nuernberg.de/spaceapi.php + - https://status.nerdberg.de/api/space +led56: + - https://x-hain.de/spaceapi-0.13.json + - http://www.c-base.org/status.json + - https://spaceapi.motionlab.berlin/ + - https://spaceapi.afra-berlin.de/v1/status.json diff --git a/dots.svg b/dots.svg new file mode 100644 index 0000000..c2234f5 --- /dev/null +++ b/dots.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/get_coordinates.py b/get_coordinates.py index 4937c35..f6ad4d0 100755 --- a/get_coordinates.py +++ b/get_coordinates.py @@ -43,6 +43,10 @@ def merge(n1, n2): returner = [] returner.append(lat) returner.append(lon) + for i in range(2, len(n1)): + returner.append(n1[i]) + for i in range(2, len(n2)): + returner.append(n2[i]) return returner @@ -50,7 +54,7 @@ def get_space_location(space): try: spacerequest = requests.get(url=data[space], timeout=1) spacedata = spacerequest.json() - except requests.exceptions.RequestException as _: # This is the correct syntax + except requests.exceptions.RequestException as _: return except json.JSONDecodeError as _: return @@ -58,7 +62,7 @@ def get_space_location(space): if "lat" in spacedata["location"]: lat = spacedata["location"]["lat"] lon = spacedata["location"]["lon"] - return [float(lat), float(lon)] + return [float(lat), float(lon), data[space]] if os.path.isfile('locations.bin'): @@ -66,7 +70,7 @@ if os.path.isfile('locations.bin'): with open("locations.bin", "rb") as f: locations = pickle.load(f) else: - print("offline data not available, downloading...,", file=sys.stderr) + print("offline data not available, downloading...", file=sys.stderr) r = requests.get(url=URL) data = r.json() with concurrent.futures.ThreadPoolExecutor(max_workers=16) as executor: @@ -114,11 +118,10 @@ while german_locations: {"MERGED: " + n1 + " " + conflictnode: mergenode}) for space in finallist: - #print(space + " " + str(finallist[space][0]) + " " + str(finallist[space][1])) print(str(finallist[space][0]) + " " + str(finallist[space][1]) + " {" + space + "}") -dwg = svgwrite.Drawing('svgwrite-example.svg', profile='tiny') +dwg = svgwrite.Drawing('dots.svg', profile='tiny') dwg.add(svgwrite.image.Image(href="Karte_Deutschland.svg", size=(586, 793))) for space in finallist: ypoint = (793 - (((finallist[space][0] - SOUTHERNMOST) / YSPAN) * 793)) @@ -126,3 +129,13 @@ for space in finallist: dwg.add(dwg.circle(center=(xpoint, ypoint), r=5, fill='green')) dwg.save() + + +ledconf = open("conf.yml", "w") +i = 0 + +for space in finallist: + ledconf.write("led" + str(i) + ":\n") + for u in range(2, len(finallist[space])): + ledconf.write(" - " + finallist[space][u] + "\n") + i = i + 1 diff --git a/locations.bin b/locations.bin index 4218bdc85303e8c612383882f4d8917fb14ebac1..db8ec0b5e888724e86d3c6772ae3690412c6e42e 100644 GIT binary patch literal 11468 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 F{4YZ%T!;Vw delta 1282 zcmXw2eM}p57|xY`0Hr|rD75tB?)r6iJvIVeDw~ljMGl5;lVw@7!{n&dA{)hP5yyn6 zQS3P|W4DPSx~L&zQvABkZL!I({_@7v-(Po6yYd*Ao@ zJ@4$+PwBgpyaPI5wu&Hl&%pnTgUBhph@uL}4BD};N^?jn2P*kJF1-Mt^r=hQ* zxhH*C>XEk!Ef-&+e=ik<%GuASuP@Ij>YBz+WYkce3ve{g3x(h1Ie=TW;7xr@O9P+H z@=dJ=l%UQ7%8NQY`LoUmoYLdTC-n^QIXw+rXTYk545++o;6d3i)B+dt>%rui{1EWF z`KU(=c;FWb0-)b1pg;)~V(qhqc!h5Yn}G914)C~fJK(C30%VJDVqcLH@Z%yDY70#b zz@IRopR*<};JOLB?J7nbFWv#lt>Q+&!zC;zizV9t#ZpdyV0CR$tR<2QC^9&5;@?S+ zIKRKSqfd>VgwJ~T+#9Ul3Q&7>IGk>Ry-Y{=nW1Mg>P|C`IA%uMm(2};!7>Jv7s~L; z%ViiZUyehE%Sqr@%V{_68@r|?X=^cUZ(n{Y@z<}SP_tUs_Ll#vjM`NJFGQWK@VMZ# zwj&r3a}L@*JEpID^PDL7nEI6Uda0uBti(7*DoF@pq0$b#!V&^JV!^QHEV$a+7VNgC z3eQYbq2p^+=-66KffB3U4$9Zn93W+7eK67Zpp=d$z++raWe3mSrz<xNXBrch=yTnHt>Z3UEaY*ijj+)Pd6MWO-PCd0$*kC&;jz?s;5_rIYf}oS~+*CCOuef8@}{_buo5|E;Lg zPBih8^BzFah3#fsE--h?gS-CL!;$#F4#*Ek z-ML}y3DX<*U;0uM%*q+t%8dhx+U>;@KlJ(l|MUhZ2wxvfq>jj4|5pr7_3ryf6sT8U z|M7>=6?j@cw6x&E1grg+VAPM}Ui0H$*~p-NoFQE>THDv1>d*Dry&hbAM_LsH@4>U9 zU-+KSs5FZ+6D*!TpT#@uF5r)HxQ`FAxWVBCTLKv1D*^oD76N!dhNn2_Uoun+S4+y| kBZED$UTI*<@}ZH7%;Yj8x_L80Tu3SE)4W%!#0R$h2MUh6IRF3v