pahekoldap

This commit is contained in:
2025-10-15 10:54:08 +02:00
parent 08889f8671
commit 79e8d18be3

View File

@@ -10,12 +10,18 @@ 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
quota_disque = int(paheko_entry["quota_disque"].strip("'"))
quota_cloud = int(ldap_entry[1]['nextcloudQuota'][0][:-3])
quota_mail = int(ldap_entry[1]['mailQuota'][0][:-1])
# if f"{quota_disque}G".encode() == ldap_entry[1]['mailQuota'][0]:
# ok = True
return ok
if quota_disque == quota_cloud and quota_disque == quota_mail:
return True
elif quota_disque == quota_cloud + quota_mail:
return True
else:
return False
def test_mail_secours(paheko_entry, ldap_entry):
try:
@@ -30,19 +36,31 @@ def test_mail_secours(paheko_entry, ldap_entry):
with Ldap() as ldap:
try:
not_in_ldap = []
mail_secours = []
quota = []
for membre in membres:
ldap_entry = ldap.get_email(membre["email"])[0]
ldap_entry = ldap.get_email(membre["email"])
if ldap_entry:
ldap_entry = ldap_entry[0]
if not test_mail_secours(membre, ldap_entry):
mail_secours.append(f"{membre['email']}: Paheko {membre['email_secours']}, LDAP {ldap_entry[1]['mailDeSecours'][0].decode()}")
ok = True
if not test_quota(membre, ldap_entry):
quota.append(f"{membre['email']}: Paheko {membre['quota_disque']}, LDAP mail {ldap_entry[1]['mailQuota'][0].decode()} cloud {ldap_entry[1]['nextcloudQuota'][0].decode()}")
#ok &= test_quota(membre, ldap_entry)
ok &= test_mail_secours(membre, ldap_entry)
if not ok:
print(membre)
print(ldap_entry)
print()
else:
not_in_ldap.append(f"{membre['email']} / id : {membre['id']}")
except Exception as e:
print(membre)
print(ldap.get_email(membre["email"]))
raise e
print("Mails dans paheko mais pas dans le LDAP :")
print("\n".join(not_in_ldap))
print("\nMails de secours pas ok dans le LDAP :")
print("\n".join(mail_secours))
print("\nQuotas pas ok dans le LDAP :")
print("\n".join(quota))