Modifications qui seront validées :
modifié : ../app.py nouveau fichier : cloud.py nouveau fichier : common_imports.py nouveau fichier : config.py nouveau fichier : dns.py nouveau fichier : kaz_user.py nouveau fichier : ldap.py nouveau fichier : mattermost.py nouveau fichier : paheko.py nouveau fichier : password.py nouveau fichier : quota.py nouveau fichier : sympa.py nouveau fichier : test.py
This commit is contained in:
64
dockers/apikaz/source/resources/quota.py
Normal file
64
dockers/apikaz/source/resources/quota.py
Normal file
@ -0,0 +1,64 @@
|
||||
from resources.common_imports import *
|
||||
|
||||
#les variables globales minimum
|
||||
from resources.config import serveur_imap, mot_de_passe_mail
|
||||
|
||||
|
||||
class Quota(Resource):
|
||||
|
||||
#https://doc.dovecot.org/configuration_manual/authentication/master_users/
|
||||
|
||||
#https://blog.debugo.fr/serveur-messagerie-dovecot/
|
||||
# sur kazkouil.fr, j'ai modifié /etc/dovecot/conf.d/20-lmtp.conf
|
||||
#mail_plugins = $mail_plugins sieve quota
|
||||
|
||||
@jwt_required()
|
||||
def get(self, email):
|
||||
"""
|
||||
Récupérer la place prise par une BAL (EN COURS)
|
||||
---
|
||||
tags:
|
||||
- Quota
|
||||
security:
|
||||
- Bearer: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: email
|
||||
type: string
|
||||
required: true
|
||||
responses:
|
||||
200:
|
||||
description: Succès, taille d'une BAL'
|
||||
400:
|
||||
description: Oops, échec dans l'affichage de la taille d'une BAL
|
||||
"""
|
||||
global serveur_imap, mot_de_passe_mail
|
||||
|
||||
try:
|
||||
if validate_email(email):
|
||||
# Connexion au serveur IMAP
|
||||
mail = imaplib.IMAP4_SSL(serveur_imap)
|
||||
mail.login(email, mot_de_passe_mail)
|
||||
|
||||
#res, data = mail.select("INBOX")
|
||||
#return data[0].decode("utf-8"), 200
|
||||
|
||||
# Requête pour obtenir le quota de la boîte aux lettres
|
||||
# res, data = mail.getquota("INBOX")
|
||||
# return str(data[0]).split()
|
||||
|
||||
res, data = mail.getquotaroot("INBOX")
|
||||
return str(data[1]).split()[3]+" KB"
|
||||
|
||||
# Fermeture de la connexion
|
||||
mail.close()
|
||||
mail.logout()
|
||||
|
||||
else:
|
||||
return "Email non valide", 400
|
||||
|
||||
except imaplib.IMAP4.error as e:
|
||||
return str(e), 400 # Retourne le message d'erreur et un code d'erreur 400
|
||||
except EmailNotValidError as e:
|
||||
return str(e), 400 # Retourne le message d'erreur et un code d'erreur 400
|
||||
|
Reference in New Issue
Block a user