Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
projekte:clubstatus [2017-08-25 20:56] – clonejo | projekte:clubstatus [2024-01-24 23:53] (current) – [Clubstatus] rentin | ||
---|---|---|---|
Line 3: | Line 3: | ||
<WRAP right> | <WRAP right> | ||
^ clubstatus | ^ clubstatus | ||
- | ^ Git | [[https://github.com/clonejo/ | + | ^ Git | [[https://git.aachen.ccc.de/clubstatus/ |
^ Host | [[https:// | ^ Host | [[https:// | ||
^ Kontakt | [[wiki: | ^ Kontakt | [[wiki: | ||
- | ^ Status | <fc green> | + | ^ Status | <fc green> |
</ | </ | ||
- | * Passwort: siehe [[https:// | + | * Passwort: siehe [[https:// |
* läuft unter https:// | * läuft unter https:// | ||
* die [[https:// | * die [[https:// | ||
===== Presence ===== | ===== Presence ===== | ||
+ | |||
=== Die Clubinfrastruktur erkennt deine Hosts und meldet dich als anwesend === | === Die Clubinfrastruktur erkennt deine Hosts und meldet dich als anwesend === | ||
- | | + | <WRAP right> |
- | * Mac-Adressen | + | {{ : |
- | * in Ansible in der Datei [[https://gitlab.aachen.ccc.de/ | + | </ |
- | * site.yml für maccollect.doel.aachen.ccc.de ausführen | + | |
+ | | ||
+ | * **Jetzt NEU mit Selfservice™!** Navigiere mit dem zu erkennenden Gerät zu [[http://pile.space.aachen.ccc.de:1234/]], vergebe einen Nicknamen und wähle | ||
+ | * Der Code für dieses Feature liegt separat im Gitlab: | ||
+ | * Die MAC-Adressen | ||
=== vom eigenen Rechner === | === vom eigenen Rechner === | ||
* Die Präsenzliste wird nicht sofort aktualisiert. Solange der Server bei einem Presence-Request mit 200 antwortet, hat es geklappt :) | * Die Präsenzliste wird nicht sofort aktualisiert. Solange der Server bei einem Presence-Request mit 200 antwortet, hat es geklappt :) | ||
+ | * Nach 10+n Minuten gibt es einen Timeout, und der Benutzername wird wieder aus der Präsenzliste entfernt. Daher muss alle 10min ein neuer Request gesendet werden. | ||
<code python> | <code python> | ||
# | # | ||
- | import subprocess | ||
- | import requests | ||
import json | import json | ||
+ | import requests | ||
+ | import subprocess | ||
+ | import sys | ||
+ | import time | ||
+ | |||
USER = "Hans Acker" | USER = "Hans Acker" | ||
- | PASSWORD = " | + | PASSWORD = " |
- | DEVICE = " | + | |
def in_cccac_wlan(): | def in_cccac_wlan(): | ||
- | output = subprocess.check_output([" | + | output = subprocess.check_output([" |
- | for l in output.split(b" | + | for line in output.split(b" |
- | columns = l.split(b": | + | columns = line.split(b": |
- | if columns[0] == b"IP4.DOMAIN[1]": | + | if columns[0] == b"IP4.SEARCHES[1]": |
if columns[1].strip() == b" | if columns[1].strip() == b" | ||
+ | print(" | ||
return True | return True | ||
+ | print(" | ||
return False | return False | ||
- | if in_cccac_wlan(): | + | |
- | session = requests.Session() | + | while True: |
- | session.auth = ("", | + | |
- | j = {'type': 'presence', 'user': USER} | + | |
- | r = session.put(" | + | |
+ | session.auth = ("", | ||
+ | j = {"type": "presence", "user": USER} | ||
+ | r = session.put(" | ||
+ | r.raise_for_status() | ||
+ | time.sleep(600) | ||
</ | </ | ||
Line 59: | Line 76: | ||
</ | </ | ||
+ | |||
+ | ===== SpaceAPI ===== | ||
+ | Der clubstatusd implementiert auch https:// | ||
+ | |||
+ | Die statischen Werte werden im Config-File vom clubstatusd eingestellt, |