Docfile commited on
Commit
2dab0fc
·
verified ·
1 Parent(s): 2f0d40c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -6
app.py CHANGED
@@ -126,9 +126,6 @@ def cleanup_gemini_file(file_uri):
126
  # Initialize database on startup
127
  init_db()
128
 
129
- # --- Prompts - À REMPLACER PAR VOS VRAIS PROMPTS ---
130
-
131
-
132
 
133
  # --- Prompts (Keep them as they are) ---
134
  prompt_tableau = """
@@ -226,8 +223,6 @@ Ainsi, ... (axe 2) est lié (e) à ... (sous-axe 1) et à ... (sous-axe 2).
226
 
227
  Somme toute, ... (titre du texte) organise son sens autour de … (axe 1) et de ... (axe 2). De ces deux centres d'intérêt découlent respectivement, d'une part, … (sous-axe 1 de l'axe 1) et ... (sous-axe 2 de l'axe 1) et, d'autre part, … (sous-axe 1 de l'axe 2) et … (sous-axe 2 de l'axe 2). À travers ce texte, ...(nom de l'auteur) nous ... (opinion personnelle). Une telle optique est perceptible dans la logique de... (nom de l'auteur nous permettant de faire un rapprochement thématique), dans son œuvre ...(titre de l'œuvre), dans lequel il aborde… (bref résumé de l'œuvre en question qui peut être facultatif).
228
  """
229
-
230
-
231
  # --- End Prompts ---
232
 
233
  generate_config = types.GenerateContentConfig(
@@ -393,7 +388,19 @@ def analyze():
393
 
394
  # Convert image to base64 for storage
395
  img_buffer = io.BytesIO()
396
- image.save(img_buffer, format='JPEG')
 
 
 
 
 
 
 
 
 
 
 
 
397
  image_base64 = base64.b64encode(img_buffer.getvalue()).decode('utf-8')
398
 
399
  except (IOError, SyntaxError) as e:
 
126
  # Initialize database on startup
127
  init_db()
128
 
 
 
 
129
 
130
  # --- Prompts (Keep them as they are) ---
131
  prompt_tableau = """
 
223
 
224
  Somme toute, ... (titre du texte) organise son sens autour de … (axe 1) et de ... (axe 2). De ces deux centres d'intérêt découlent respectivement, d'une part, … (sous-axe 1 de l'axe 1) et ... (sous-axe 2 de l'axe 1) et, d'autre part, … (sous-axe 1 de l'axe 2) et … (sous-axe 2 de l'axe 2). À travers ce texte, ...(nom de l'auteur) nous ... (opinion personnelle). Une telle optique est perceptible dans la logique de... (nom de l'auteur nous permettant de faire un rapprochement thématique), dans son œuvre ...(titre de l'œuvre), dans lequel il aborde… (bref résumé de l'œuvre en question qui peut être facultatif).
225
  """
 
 
226
  # --- End Prompts ---
227
 
228
  generate_config = types.GenerateContentConfig(
 
388
 
389
  # Convert image to base64 for storage
390
  img_buffer = io.BytesIO()
391
+
392
+ # Convert RGBA to RGB if necessary for JPEG compatibility
393
+ if image.mode in ('RGBA', 'LA', 'P'):
394
+ # Create white background
395
+ background = Image.new('RGB', image.size, (255, 255, 255))
396
+ if image.mode == 'P':
397
+ image = image.convert('RGBA')
398
+ background.paste(image, mask=image.split()[-1] if image.mode == 'RGBA' else None)
399
+ image = background
400
+ elif image.mode != 'RGB':
401
+ image = image.convert('RGB')
402
+
403
+ image.save(img_buffer, format='JPEG', quality=95)
404
  image_base64 = base64.b64encode(img_buffer.getvalue()).decode('utf-8')
405
 
406
  except (IOError, SyntaxError) as e: