NoahH7 commited on
Commit
8ad26f5
·
verified ·
1 Parent(s): a5b8193

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -13
app.py CHANGED
@@ -1,24 +1,26 @@
 
1
  from transformers import DetrImageProcessor, DetrForObjectDetection
2
  import torch
3
  from PIL import Image
4
- import requests
5
 
6
- # Fonction pour envoyer l'email via Mailtrap
7
  def send_email(api_key, inbox_id, subject, content, from_email, to_email):
8
- url = f"https://mailtrap.io/api/v1/inboxes/{inbox_id}/messages"
9
  headers = {
10
  "Api-Token": api_key,
11
  "Content-Type": "application/json"
12
  }
13
  data = {
14
  "from": from_email,
15
- "to": to_email,
16
  "subject": subject,
17
- "text": content
 
18
  }
19
  response = requests.post(url, headers=headers, json=data)
20
 
21
  # Debug: Print the raw response
 
22
  print(f"Email response content: {response.text}")
23
 
24
  try:
@@ -50,7 +52,8 @@ def generate_text_with_gemini(api_key, prompt):
50
  response = requests.post(url, headers=headers, params=params, json=data)
51
 
52
  # Debug: Print the raw response
53
- print(f"Response content: {response.text}")
 
54
 
55
  try:
56
  response_json = response.json()
@@ -82,23 +85,27 @@ for score, label, box in zip(results["scores"], results["labels"], results["boxe
82
  if model.config.id2label[label.item()] == 'person':
83
  persons += 1
84
 
85
- expected_number_of_persons = 40 # Nombre attendu de personnes
86
  absents = expected_number_of_persons - persons
87
 
 
 
 
 
88
  # Générer le contenu de l'email avec Gemini
89
  prompt = f"Notifier de l'absence: Le nombre de personnes présentes est de {persons}. Le nombre d'absents est de {absents}."
90
- gemini_api_key = "AIzaSyCJVUr-76I4TL42X98d9U0THbRD3MKlB38"
91
  status_code, response_json = generate_text_with_gemini(gemini_api_key, prompt)
92
- email_content = response_json.get('text', 'Content generation failed.')
93
 
94
  # Définir les variables pour l'email
95
  email_subject = "Notification d'absents"
96
- from_email = "your-email@example.com"
97
- to_email = "recipient@example.com"
98
 
99
  # Clés API Mailtrap et informations d'email
100
- mailtrap_api_key = "0dfd557dc980d49b306ae8647a9fa585"
101
- inbox_id = "3128145"
102
 
103
  # Envoyer l'email
104
  status_code, response_json = send_email(mailtrap_api_key, inbox_id, email_subject, email_content, from_email, to_email)
 
1
+ import requests
2
  from transformers import DetrImageProcessor, DetrForObjectDetection
3
  import torch
4
  from PIL import Image
 
5
 
6
+ # Fonction pour envoyer un email via Mailtrap
7
  def send_email(api_key, inbox_id, subject, content, from_email, to_email):
8
+ url = f"https://mailtrap.io/api/v1/inboxes/{inbox_id}/messages" # Assurez-vous que l'URL est correcte
9
  headers = {
10
  "Api-Token": api_key,
11
  "Content-Type": "application/json"
12
  }
13
  data = {
14
  "from": from_email,
15
+ "to": [ {"email": to_email} ],
16
  "subject": subject,
17
+ "text": content,
18
+ "category": "Integration Test"
19
  }
20
  response = requests.post(url, headers=headers, json=data)
21
 
22
  # Debug: Print the raw response
23
+ print(f"Email response status code: {response.status_code}")
24
  print(f"Email response content: {response.text}")
25
 
26
  try:
 
52
  response = requests.post(url, headers=headers, params=params, json=data)
53
 
54
  # Debug: Print the raw response
55
+ print(f"Gemini response status code: {response.status_code}")
56
+ print(f"Gemini response content: {response.text}")
57
 
58
  try:
59
  response_json = response.json()
 
85
  if model.config.id2label[label.item()] == 'person':
86
  persons += 1
87
 
88
+ expected_number_of_persons = 30 # Nombre attendu de personnes
89
  absents = expected_number_of_persons - persons
90
 
91
+ # Assurez-vous que le nombre d'absents ne soit pas négatif
92
+ if absents < 0:
93
+ absents = 0
94
+
95
  # Générer le contenu de l'email avec Gemini
96
  prompt = f"Notifier de l'absence: Le nombre de personnes présentes est de {persons}. Le nombre d'absents est de {absents}."
97
+ gemini_api_key = "AIzaSyCJVUr-76I4TL42X98d9U0THbRD3MKlB38" # Remplacez par votre clé API Gemini
98
  status_code, response_json = generate_text_with_gemini(gemini_api_key, prompt)
99
+ email_content = response_json.get('candidates', [{}])[0].get('content', {}).get('parts', [{}])[0].get('text', 'Content generation failed.')
100
 
101
  # Définir les variables pour l'email
102
  email_subject = "Notification d'absents"
103
+ from_email = "mailtrap@example.com"
104
+ to_email = "noahhamidou@hotmail.com"
105
 
106
  # Clés API Mailtrap et informations d'email
107
+ mailtrap_api_key = "0dfd557dc980d49b306ae8647a9fa585" # Remplacez par votre clé API Mailtrap
108
+ inbox_id = "3128145" # Remplacez par votre ID de boîte de réception
109
 
110
  # Envoyer l'email
111
  status_code, response_json = send_email(mailtrap_api_key, inbox_id, email_subject, email_content, from_email, to_email)