ernestmindres commited on
Commit
302be2b
·
verified ·
1 Parent(s): ae9e3d1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -51
app.py CHANGED
@@ -10,7 +10,7 @@ from datetime import datetime
10
  from flask import Flask, request, jsonify, Response, session
11
  from flask_cors import CORS
12
  import baserow_storage # Assurez-vous que ceci est présent
13
- # NOUVEL IMPORT POUR LES WEB SOCKETS
14
  from flask_socketio import SocketIO
15
 
16
  # NOUVEL IMPORT POUR LA GESTION DU TERMINAL
@@ -308,54 +308,16 @@ def read_root():
308
  # Statut de service non disponible (503) avec le message d'erreur
309
  return jsonify({"detail": "Baserow service unavailable (Health Check failed)."}), 503
310
 
311
- # ----------------------------------------------------------------------
312
- # --- Nouvelle Fonctionnalité : Validation d'Email en Temps Réel ---
313
- # ----------------------------------------------------------------------
314
-
315
- @app.route("/api/validate-email", methods=["GET"])
316
- @api_key_required
317
- def validate_email_realtime(client_user):
318
- """
319
- Endpoint API pour la validation d'email en temps réel.
320
- L'authentification se fait via la clé API (dans 'api_key' ou 'X-API-Key').
321
- L'email est lu depuis le paramètre d'URL 'email'.
322
- """
323
- email_to_validate = request.args.get('email')
324
-
325
- # 1. Vérification de la présence de l'email
326
- if not email_to_validate:
327
- return jsonify({
328
- "status": "Error",
329
- "message": "Le paramètre 'email' est manquant dans l'URL.",
330
- "code": "EMAIL_PARAM_MISSING"
331
- }), 400
332
-
333
- # 2. Validation d'appel au service externe (À REMPLACER par votre code réel)
334
-
335
- # Placeholder pour un service de vérification d'email en temps réel
336
- # Assurez-vous d'implémenter ici la logique d'appel à l'API de validation
337
- # (ex: ZeroBounce, MailboxValidator, etc.) en utilisant la librairie 'requests'.
338
 
339
- is_valid = False
340
- message = "Vérification indisponible : Remplacez ce code par l'appel à votre service de validation d'email."
341
-
342
- # --- DÉBUT DU PLACEHOLDER SIMPLE ---
343
- import re
344
- if re.match(r"[^@]+@[^@]+\.[^@]+", email_to_validate):
345
- is_valid = True
346
- message = "Le format de l'email est valide (Validation de base). Intégrez ici votre API de validation en temps réel."
347
- else:
348
- is_valid = False
349
- message = "Format de l'email invalide."
350
- # --- FIN DU PLACEHOLDER SIMPLE ---
351
-
352
- # 3. Réponse API
353
- return jsonify({
354
- "status": "Success" if is_valid else "Error",
355
- "message": message,
356
- "email": email_to_validate,
357
- "is_valid": is_valid,
358
- # Optionnel: l'ID de l'utilisateur qui fait la requête
359
- "client_user_id": client_user.get('user_id')
360
- }), 200 if is_valid else 400
361
-
 
10
  from flask import Flask, request, jsonify, Response, session
11
  from flask_cors import CORS
12
  import baserow_storage # Assurez-vous que ceci est présent
13
+ import shutil
14
  from flask_socketio import SocketIO
15
 
16
  # NOUVEL IMPORT POUR LA GESTION DU TERMINAL
 
308
  # Statut de service non disponible (503) avec le message d'erreur
309
  return jsonify({"detail": "Baserow service unavailable (Health Check failed)."}), 503
310
 
311
+ # Fonction de nettoyage des fichiers temporaires (utilisée à l'arrêt/redémarrage, etc.)
312
+ @app.teardown_appcontext
313
+ def shutdown_session(exception=None):
314
+ """Supprime les dossiers de déploiement temporaires après la fin de la session, ou lors du nettoyage."""
315
+ # NOTE: Cette approche est simplifiée. Pour la production, vous voudriez
316
+ # une tâche en arrière-plan (cron job) pour nettoyer périodiquement les
317
+ # vieux dossiers pour éviter les fuites de mémoire.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
318
 
319
+ # Pour l'instant, on se contente de vider le dossier 'temp_uploads'
320
+ # Cela devrait être exécuté uniquement si on est sûr que l'application s'arrête.
321
+ # Dans un environnement de développement, on pourrait le faire au démarrage,
322
+ # mais ce n'est pas fiable en production (Gunicorn/multi-worker).
323
+ pass # On laisse la gestion du nettoyage à une tâche externe ou un redémarrage.