pahekoldap
This commit is contained in:
@@ -10,17 +10,23 @@ 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:
|
||||
if paheko_entry["email_secours"]:
|
||||
return paheko_entry["email_secours"].strip("'").encode() == ldap_entry[1]['mailDeSecours'][0]
|
||||
return paheko_entry["email_secours"].strip("'").encode()== ldap_entry[1]['mailDeSecours'][0]
|
||||
else:
|
||||
return False
|
||||
except e:
|
||||
@@ -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
|
||||
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))
|
||||
|
Reference in New Issue
Block a user