Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
projekte:clubstatus [2018-01-07 22:45] clonejoprojekte:clubstatus [2021-11-11 00:52] – cccac-presence skript aktualisiert clonejo
Line 14: Line 14:
  
 ===== Presence ===== ===== Presence =====
-=== Die Clubinfrastruktur erkennt deine Hosts und meldet dich als anwesend === 
-  * auf Stellarator läuft in der maccollect-VM das Programm maccollect ([[https://git.aachen.ccc.de/~luks/maccollect|repo]], Branch "status-api") 
-  * Mac-Adressen der eigenen Geräte eintragen; dafür einen [[admins@aachen.ccc.de?body=Hallo,%0a%0akoenntet Ihr unter dem Namen%0a%0a%24name%0a%0adie Mac-Adressen%0a%0a%24mac1%0a%24mac2%0a%0aeintragen?%0a%0aVielen Dank!|Admin fragen]] 
-    * in Ansible in der Datei [[https://gitlab.aachen.ccc.de/admins/ansible/blob/master/roles/host-maccollect/files/config.yml|roles/host-maccollect/files/config.yml]] den Benutzernamen und zugehörige Mac-Adressen eintragen 
-    * site.yml für maccollect.doel.aachen.ccc.de ausführen 
- 
 === 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 :)
Line 25: Line 19:
 #!/bin/python3 #!/bin/python3
  
-import subprocess 
-import requests 
 import json import json
 +import requests
 +import subprocess
 +import sys
 +
  
 USER = "Hans Acker" USER = "Hans Acker"
-PASSWORD = "zensiert" +PASSWORD = "zensiert :)
-DEVICE = "wlp3s0"+
  
 def in_cccac_wlan(): def in_cccac_wlan():
-    output = subprocess.check_output(["nmcli", "device", "show", DEVICE]) +    output = subprocess.check_output(["nmcli", "device", "show"]) 
-    for in output.split(b"\n"): +    for line in output.split(b"\n"): 
-        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"space.aachen.ccc.de":             if columns[1].strip() == b"space.aachen.ccc.de":
 +                print("CCCAC network detected", file=sys.stderr)
                 return True                 return True
 +    print("CCCAC network not detected", file=sys.stderr)
     return False     return False
 +
  
 if in_cccac_wlan(): if in_cccac_wlan():
 +    print(f"Marking {USER} as currently present.", file=sys.stderr)
     session = requests.Session()     session = requests.Session()
     session.auth = ("", PASSWORD)     session.auth = ("", PASSWORD)
-    j = {'type''presence''user': USER}+    j = {"type""presence""user": USER}
     r = session.put("https://status.aachen.ccc.de/api/v0", data=json.dumps(j))     r = session.put("https://status.aachen.ccc.de/api/v0", data=json.dumps(j))
 +    r.raise_for_status()
 </code> </code>
  
Line 58: Line 59:
 fi fi
 </code> </code>
 +
 +
 +=== Die Clubinfrastruktur erkennt deine Hosts und meldet dich als anwesend ===
 +**Stand 2021-11-11: Diese Funktion geht im Moment nicht, maccollect wurde noch nicht wieder aufgesetzt. **
 +
 +  * auf Stellarator läuft in der maccollect-VM das Programm maccollect ([[https://git.aachen.ccc.de/~luks/maccollect|repo]], Branch "status-api")
 +  * Mac-Adressen der eigenen Geräte eintragen; dafür einen [[admins@aachen.ccc.de?body=Hallo,%0a%0akoenntet Ihr unter dem Namen%0a%0a%24name%0a%0adie Mac-Adressen%0a%0a%24mac1%0a%24mac2%0a%0aeintragen?%0a%0aVielen Dank!|Admin fragen]]
 +    * in Ansible in der Datei [[https://gitlab.aachen.ccc.de/admins/ansible/blob/master/roles/host-maccollect/files/config.yml|roles/host-maccollect/files/config.yml]] den Benutzernamen und zugehörige Mac-Adressen eintragen
 +    * site.yml für maccollect.doel.aachen.ccc.de ausführen
 +
  
Navigation



You are not allowed to add pages