Files
KazV2/bin/checkPahekoLdap.py
2025-10-14 18:30:46 +02:00

48 lines
1.2 KiB
Python
Executable File

#!/usr/bin/python3
import sys
from lib.paheko import Paheko
from lib.ldap import Ldap
paheko = Paheko()
categorie_membres = paheko.get_categorie_id("Membres")
membres = paheko.get_users_in_categorie(categorie_membres)
def test_quota(paheko_entry, ldap_entry):
ok = True
quota_disque = paheko_entry["quota_disque"].strip("'")
if f"{quota_disque}G".encode() != ldap_entry[1]['mailQuota'][0]:
ok = False
return ok
def test_mail_secours(paheko_entry, ldap_entry):
try:
if paheko_entry["email_secours"]:
return paheko_entry["email_secours"].strip("'").encode() == ldap_entry[1]['mailDeSecours'][0]
else:
return False
except e:
print(paheko_entry)
print(ldap_entry)
raise e
with Ldap() as ldap:
try:
for membre in membres:
ldap_entry = ldap.get_email(membre["email"])[0]
ok = True
#ok &= test_quota(membre, ldap_entry)
ok &= test_mail_secours(membre, ldap_entry)
if not ok:
print(membre)
print(ldap_entry)
print()
except Exception as e:
print(membre)
print(ldap.get_email(membre["email"]))
raise e