Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -756,7 +756,7 @@ def is_valid_email(email: str) -> bool:
|
|
756 |
|
757 |
def enhance_main():
|
758 |
"""Fonction principale avec gestion des états et des erreurs améliorée"""
|
759 |
-
st.set_page_config(page_title="Multimodal Content Summarizer", page_icon="📝")
|
760 |
|
761 |
# Titre de l'application
|
762 |
st.title("🧠 **MultiModal Genius - Résumé Intelligent de Contenus Multimédias**")
|
@@ -908,20 +908,7 @@ def get_transcription(file_path=None, audio_bytes=None) -> str:
|
|
908 |
|
909 |
return " ".join(transcriptions) if transcriptions else None
|
910 |
|
911 |
-
|
912 |
-
#Affichage de la transcription et du résumé
|
913 |
-
st.subheader("Transcription")
|
914 |
-
st.text_area("Texte transcrit:", value=transcription, height=200)
|
915 |
-
|
916 |
-
st.subheader("Résumé et Analyse")
|
917 |
-
summary = get_summary(transcription)
|
918 |
-
st.markdown(summary)
|
919 |
-
|
920 |
-
# Génération et téléchargement des documents
|
921 |
-
generate_and_download_documents(summary)
|
922 |
-
|
923 |
-
# Option d'envoi par email
|
924 |
-
handle_email_sending(summary)"""
|
925 |
def display_transcription_and_summary(transcription: str):
|
926 |
"""Affichage de la transcription et du résumé"""
|
927 |
st.subheader("Transcription")
|
@@ -944,39 +931,7 @@ def get_summary(transcription: str) -> str:
|
|
944 |
return st.session_state.audio_processor.summarize_long_transcription(transcription)
|
945 |
return st.session_state.audio_processor.generate_summary(transcription)
|
946 |
|
947 |
-
|
948 |
-
#Génération et téléchargement des documents
|
949 |
-
timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
|
950 |
-
|
951 |
-
# Génération PDF
|
952 |
-
pdf_filename = f"resume_{timestamp}.pdf"
|
953 |
-
pdf_path = PDFGenerator.create_pdf(summary, pdf_filename)
|
954 |
-
|
955 |
-
# Génération DOCX
|
956 |
-
docx_filename = f"resume_{timestamp}.docx"
|
957 |
-
docx_path = generate_docx(summary, docx_filename)
|
958 |
-
|
959 |
-
# Boutons de téléchargement
|
960 |
-
col1, col2 = st.columns(2)
|
961 |
-
with col1:
|
962 |
-
with open(pdf_path, "rb") as pdf_file:
|
963 |
-
st.download_button(
|
964 |
-
"📥 Télécharger PDF",
|
965 |
-
pdf_file,
|
966 |
-
file_name=pdf_filename,
|
967 |
-
mime="application/pdf"
|
968 |
-
)
|
969 |
-
|
970 |
-
with col2:
|
971 |
-
with open(docx_path, "rb") as docx_file:
|
972 |
-
st.download_button(
|
973 |
-
"📥 Télécharger DOCX",
|
974 |
-
docx_file,
|
975 |
-
file_name=docx_filename,
|
976 |
-
mime="application/vnd.openxmlformats-officedocument.wordprocessingml.document"
|
977 |
-
)
|
978 |
-
|
979 |
-
return pdf_path"""
|
980 |
def generate_and_download_documents(summary: str, context="main"):
|
981 |
"""Génération et téléchargement des documents"""
|
982 |
timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
|
@@ -1136,60 +1091,7 @@ def display_summary_and_downloads(summary: str):
|
|
1136 |
else:
|
1137 |
st.error("Échec de l'envoi de l'email.")
|
1138 |
|
1139 |
-
|
1140 |
-
#Affichage du résumé et options de téléchargement
|
1141 |
-
st.markdown("### 📝 Résumé et Analyse")
|
1142 |
-
st.markdown(summary)
|
1143 |
-
|
1144 |
-
timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
|
1145 |
-
|
1146 |
-
# Génération PDF
|
1147 |
-
pdf_filename = f"resume_{timestamp}.pdf"
|
1148 |
-
pdf_path = PDFGenerator.create_pdf(summary, pdf_filename)
|
1149 |
-
|
1150 |
-
# Génération DOCX
|
1151 |
-
docx_filename = f"resume_{timestamp}.docx"
|
1152 |
-
docx_path = generate_docx(summary, docx_filename)
|
1153 |
-
|
1154 |
-
# Boutons de téléchargement
|
1155 |
-
col1, col2 = st.columns(2)
|
1156 |
-
with col1:
|
1157 |
-
with open(pdf_path, "rb") as pdf_file:
|
1158 |
-
st.download_button(
|
1159 |
-
"📥 Télécharger PDF",
|
1160 |
-
pdf_file,
|
1161 |
-
file_name=pdf_filename,
|
1162 |
-
mime="application/pdf"
|
1163 |
-
)
|
1164 |
-
|
1165 |
-
with col2:
|
1166 |
-
with open(docx_path, "rb") as docx_file:
|
1167 |
-
st.download_button(
|
1168 |
-
"📥 Télécharger DOCX",
|
1169 |
-
docx_file,
|
1170 |
-
file_name=docx_filename,
|
1171 |
-
mime="application/vnd.openxmlformats-officedocument.wordprocessingml.document"
|
1172 |
-
)
|
1173 |
-
|
1174 |
-
# Option d'envoi par email
|
1175 |
-
st.markdown("### 📧 Recevoir le résumé par email")
|
1176 |
-
recipient_email = st.text_input("Entrez votre adresse email:")
|
1177 |
-
|
1178 |
-
if st.button("Envoyer par email"):
|
1179 |
-
if not is_valid_email(recipient_email):
|
1180 |
-
st.error("Veuillez entrer une adresse email valide.")
|
1181 |
-
else:
|
1182 |
-
with st.spinner("Envoi de l'email en cours..."):
|
1183 |
-
email_sender = EmailSender(Config.SENDER_EMAIL, Config.SENDER_PASSWORD)
|
1184 |
-
if email_sender.send_email(
|
1185 |
-
recipient_email,
|
1186 |
-
"Résumé de votre contenu",
|
1187 |
-
"Veuillez trouver ci-joint le résumé de votre contenu.",
|
1188 |
-
pdf_path
|
1189 |
-
):
|
1190 |
-
st.success("Email envoyé avec succès!")
|
1191 |
-
else:
|
1192 |
-
st.error("Échec de l'envoi de l'email.")"""
|
1193 |
|
1194 |
def save_audio_bytes(audio_bytes: bytes) -> str:
|
1195 |
"""Sauvegarde les bytes audio dans un fichier temporaire"""
|
|
|
756 |
|
757 |
def enhance_main():
|
758 |
"""Fonction principale avec gestion des états et des erreurs améliorée"""
|
759 |
+
#st.set_page_config(page_title="Multimodal Content Summarizer", page_icon="📝")
|
760 |
|
761 |
# Titre de l'application
|
762 |
st.title("🧠 **MultiModal Genius - Résumé Intelligent de Contenus Multimédias**")
|
|
|
908 |
|
909 |
return " ".join(transcriptions) if transcriptions else None
|
910 |
|
911 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
912 |
def display_transcription_and_summary(transcription: str):
|
913 |
"""Affichage de la transcription et du résumé"""
|
914 |
st.subheader("Transcription")
|
|
|
931 |
return st.session_state.audio_processor.summarize_long_transcription(transcription)
|
932 |
return st.session_state.audio_processor.generate_summary(transcription)
|
933 |
|
934 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
935 |
def generate_and_download_documents(summary: str, context="main"):
|
936 |
"""Génération et téléchargement des documents"""
|
937 |
timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
|
|
|
1091 |
else:
|
1092 |
st.error("Échec de l'envoi de l'email.")
|
1093 |
|
1094 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1095 |
|
1096 |
def save_audio_bytes(audio_bytes: bytes) -> str:
|
1097 |
"""Sauvegarde les bytes audio dans un fichier temporaire"""
|