Dies sollte Issue #4 lösen. Dies sollte man aber nochmal auf dem Produktivsystem testen, weil ich die Anbindung ans LDAP nicht testen konnte.
Es gab im Code drei Probleme:
Zum einen war dieser Check fehlerhaft: if user in LIST_USERS[:][0]: Der Zugriff auf eine Spalte in einer verschachtelten Liste in Python funktioniert so nicht, dies gibt einem momentan nur die erste Zeile zurück, also den ersten Eintrag. Deshalb hat der Check nur bei dem user "fachschaft" geklappt und ansonsten false ergeben. Wenn LIST_USERS ein numpy array wäre, könne man mit [:,0] darauf zugreifen, aber mit normalen Python lists geht dies nicht. The python way of doing it sieht so aus: if any(user.lower() in account for account, greeting in LIST_USERS):
bisher war die Überprüfung case sensitive. Jetzt habe ich die Eingabe auf lowercase transformiert, sodass man auch "Fachschaft" oder "InfoStudkom" als Liste eingeben kann und der Dude das ordentlich verarbeitet.
In dieser Schleife
for user in self.users:
if user in LIST_USERS[:][0]:
self.mails.append(user + "@mathphys.stura.uni-heidelberg.de")
self.users.remove(user)
wird über self.users iteriert, aber in manchen Fällen self.users manipuliert. Das ist böse und erzeugt bugs. Bisher war dies kein Problem, weil der Check aus 1. nicht geklappt hat, aber ich hab das auch gleich mal mit behoben.
Dies sollte Issue #4 lösen. Dies sollte man aber nochmal auf dem Produktivsystem testen, weil ich die Anbindung ans LDAP nicht testen konnte.
Es gab im Code drei Probleme:
Zum einen war dieser Check fehlerhaft:
if user in LIST_USERS[:][0]:
Der Zugriff auf eine Spalte in einer verschachtelten Liste in Python funktioniert so nicht, dies gibt einem momentan nur die erste Zeile zurück, also den ersten Eintrag. Deshalb hat der Check nur bei dem user "fachschaft" geklappt und ansonstenfalse
ergeben. Wenn LIST_USERS ein numpy array wäre, könne man mit[:,0]
darauf zugreifen, aber mit normalen Python lists geht dies nicht. The python way of doing it sieht so aus:if any(user.lower() in account for account, greeting in LIST_USERS):
bisher war die Überprüfung case sensitive. Jetzt habe ich die Eingabe auf lowercase transformiert, sodass man auch "Fachschaft" oder "InfoStudkom" als Liste eingeben kann und der Dude das ordentlich verarbeitet.
In dieser Schleife
wird über
self.users
iteriert, aber in manchen Fällenself.users
manipuliert. Das ist böse und erzeugt bugs. Bisher war dies kein Problem, weil der Check aus 1. nicht geklappt hat, aber ich hab das auch gleich mal mit behoben.