diff --git a/bin/lib/paheko.py b/bin/lib/paheko.py index ef173e4..3999c77 100644 --- a/bin/lib/paheko.py +++ b/bin/lib/paheko.py @@ -1,9 +1,11 @@ +import re import requests from .config import getDockersConfig, getSecretConfig paheko_ident = getDockersConfig("paheko_API_USER") paheko_pass = getDockersConfig("paheko_API_PASSWORD") +paheko_auth = (paheko_ident, paheko_pass) paheko_url = f"https://kaz-paheko.{getDockersConfig('domain')}" class Paheko: @@ -11,12 +13,9 @@ class Paheko: """ Récupérer les catégories Paheko avec le compteur associé """ - global paheko_ident, paheko_pass, paheko_url - - auth = (paheko_ident, paheko_pass) api_url = paheko_url + '/api/user/categories' - response = requests.get(api_url, auth=auth) + response = requests.get(api_url, auth=paheko_auth) if response.status_code == 200: data = response.json() @@ -29,16 +28,12 @@ class Paheko: """ Afficher les membres d'une catégorie Paheko """ - - global paheko_ident, paheko_pass, paheko_url - - auth = (paheko_ident, paheko_pass) if not categorie.isdigit(): return 'Id de category non valide', 400 api_url = paheko_url + '/api/user/category/'+categorie+'.json' - response = requests.get(api_url, auth=auth) + response = requests.get(api_url, auth=paheko_auth) if response.status_code == 200: data = response.json() @@ -56,17 +51,17 @@ class Paheko: if emailmatchregexp.match(ident): data = { "sql": f"select * from users where email='{ident}' or alias = '{ident}'" } - api_url = self.paheko_url + '/api/sql/' - response = requests.post(api_url, auth=self.auth, data=data) + api_url = paheko_url + '/api/sql/' + response = requests.post(api_url, auth=paheko_auth, data=data) #TODO: if faut Rechercher count et vérifier que = 1 et supprimer le count=1 dans la réponse elif ident.isdigit(): - api_url = self.paheko_url + '/api/user/'+ident - response = requests.get(api_url, auth=self.auth) + api_url = paheko_url + '/api/user/'+ident + response = requests.get(api_url, auth=paheko_auth) else: nomorga = re.sub(r'\W+', '', ident) # on vire les caractères non alphanumérique data = { "sql": f"select * from users where admin_orga=1 and nom_orga='{nomorga}'" } - api_url = self.paheko_url + '/api/sql/' - response = requests.post(api_url, auth=self.auth, data=data) + api_url = paheko_url + '/api/sql/' + response = requests.post(api_url, auth=paheko_auth, data=data) #TODO:if faut Rechercher count et vérifier que = 1 et supprimer le count=1 dans la réponse if response.status_code == 200: @@ -90,8 +85,8 @@ class Paheko: emailmatchregexp = re.compile(r"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$") if emailmatchregexp.match(ident): data = { "sql": f"select id from users where email='{ident}'" } - api_url = self.paheko_url + '/api/sql/' - response = requests.post(api_url, auth=self.auth, data=data) + api_url = paheko_url + '/api/sql/' + response = requests.post(api_url, auth=paheko_auth, data=data) if response.status_code == 200: #on extrait l'id de la réponse data = response.json() @@ -116,9 +111,9 @@ class Paheko: champ = re.sub(r'\W+','',field) # pas de caractères non alphanumériques ici, dans l'idéal, c'est à choisir dans une liste plutot - api_url = self.paheko_url + '/api/user/'+str(ident) + api_url = paheko_url + '/api/user/'+str(ident) payload = {champ: valeur} - response = requests.post(api_url, auth=self.auth, data=payload) + response = requests.post(api_url, auth=paheko_auth, data=payload) return response.json() @@ -126,11 +121,10 @@ class Paheko: """ retourne tous les membres de paheko avec une action à mener (création du compte kaz / modification...) """ - auth = (paheko_ident, paheko_pass) api_url = paheko_url + '/api/sql/' payload = { "sql": f"select * from users where action_auto='{action}'" } - response = requests.post(api_url, auth=auth, data=payload) + response = requests.post(api_url, auth=paheko_auth, data=payload) if response.status_code == 200: return response.json() diff --git a/bin/lib/user.py b/bin/lib/user.py index 926f88a..75acb82 100644 --- a/bin/lib/user.py +++ b/bin/lib/user.py @@ -109,8 +109,8 @@ def create_user(email, email_secours, admin_orga, nom_orga, quota_disque, nom, p # mail.send(msg) #on met le flag paheko action à Aucune - paheko = Paheko() - paheko.set_user(email, "action_auto", "Aucune") + # paheko = Paheko() + # paheko.set_user(email, "action_auto", "Aucune") #on post sur MM pour dire ok with Mattermost() as mm: