Delete utils
Browse files- utils/export_utils.py +0 -70
- utils/spacy_utils.py +0 -9
- utils/svg_to_png_converter.py +0 -51
- utils/txt.txt +0 -0
- utils/widget_utils.py +0 -7
utils/export_utils.py
DELETED
@@ -1,70 +0,0 @@
|
|
1 |
-
import streamlit as st
|
2 |
-
from reportlab.lib.pagesizes import letter
|
3 |
-
from reportlab.pdfgen import canvas
|
4 |
-
from docx import Document
|
5 |
-
import io
|
6 |
-
|
7 |
-
def export_data(user_data, t, format='pdf'):
|
8 |
-
if format == 'pdf':
|
9 |
-
return export_to_pdf(user_data, t)
|
10 |
-
elif format == 'docx':
|
11 |
-
return export_to_docx(user_data, t)
|
12 |
-
else:
|
13 |
-
raise ValueError(f"Unsupported format: {format}")
|
14 |
-
|
15 |
-
def export_to_pdf(user_data, t):
|
16 |
-
buffer = io.BytesIO()
|
17 |
-
c = canvas.Canvas(buffer, pagesize=letter)
|
18 |
-
width, height = letter
|
19 |
-
|
20 |
-
# Título
|
21 |
-
c.setFont("Helvetica-Bold", 16)
|
22 |
-
c.drawString(50, height - 50, t['analysis_report'])
|
23 |
-
|
24 |
-
# Resumen
|
25 |
-
c.setFont("Helvetica", 12)
|
26 |
-
c.drawString(50, height - 80, f"{t['morpho_analyses']}: {len(user_data['morphosyntax_analyses'])}")
|
27 |
-
c.drawString(50, height - 100, f"{t['semantic_analyses']}: {len(user_data['semantic_analyses'])}")
|
28 |
-
c.drawString(50, height - 120, f"{t['discourse_analyses']}: {len(user_data['discourse_analyses'])}")
|
29 |
-
|
30 |
-
# Aquí agregarías más detalles de los análisis...
|
31 |
-
|
32 |
-
c.save()
|
33 |
-
buffer.seek(0)
|
34 |
-
return buffer
|
35 |
-
|
36 |
-
def export_to_docx(user_data, t):
|
37 |
-
doc = Document()
|
38 |
-
doc.add_heading(t['analysis_report'], 0)
|
39 |
-
|
40 |
-
doc.add_paragraph(f"{t['morpho_analyses']}: {len(user_data['morphosyntax_analyses'])}")
|
41 |
-
doc.add_paragraph(f"{t['semantic_analyses']}: {len(user_data['semantic_analyses'])}")
|
42 |
-
doc.add_paragraph(f"{t['discourse_analyses']}: {len(user_data['discourse_analyses'])}")
|
43 |
-
|
44 |
-
# Aquí agregarías más detalles de los análisis...
|
45 |
-
|
46 |
-
buffer = io.BytesIO()
|
47 |
-
doc.save(buffer)
|
48 |
-
buffer.seek(0)
|
49 |
-
return buffer
|
50 |
-
|
51 |
-
def display_export_options(t):
|
52 |
-
format = st.radio(t['select_export_format'], ['PDF', 'DOCX'])
|
53 |
-
if st.button(t['export']):
|
54 |
-
user_data = st.session_state.user_data
|
55 |
-
if format == 'PDF':
|
56 |
-
buffer = export_data(user_data, t, format='pdf')
|
57 |
-
st.download_button(
|
58 |
-
label=t['download_pdf'],
|
59 |
-
data=buffer,
|
60 |
-
file_name="analysis_report.pdf",
|
61 |
-
mime="application/pdf"
|
62 |
-
)
|
63 |
-
elif format == 'DOCX':
|
64 |
-
buffer = export_data(user_data, t, format='docx')
|
65 |
-
st.download_button(
|
66 |
-
label=t['download_docx'],
|
67 |
-
data=buffer,
|
68 |
-
file_name="analysis_report.docx",
|
69 |
-
mime="application/vnd.openxmlformats-officedocument.wordprocessingml.document"
|
70 |
-
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
utils/spacy_utils.py
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
# modules/spacy_utils.py
|
2 |
-
import spacy
|
3 |
-
|
4 |
-
def load_spacy_models():
|
5 |
-
return {
|
6 |
-
'es': spacy.load("es_core_news_lg"),
|
7 |
-
'en': spacy.load("en_core_web_lg"),
|
8 |
-
'uk': spacy.load("uk_core_news_lg")
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
utils/svg_to_png_converter.py
DELETED
@@ -1,51 +0,0 @@
|
|
1 |
-
import io
|
2 |
-
from svglib.svglib import svg2rlg
|
3 |
-
from reportlab.graphics import renderPM
|
4 |
-
from pymongo import MongoClient
|
5 |
-
import base64
|
6 |
-
|
7 |
-
# Asume que tienes una función para obtener la conexión a MongoDB
|
8 |
-
from ..database.mongo_db import get_mongodb
|
9 |
-
|
10 |
-
def convert_svg_to_png(svg_string):
|
11 |
-
"""Convierte una cadena SVG a una imagen PNG."""
|
12 |
-
drawing = svg2rlg(io.BytesIO(svg_string.encode('utf-8')))
|
13 |
-
png_bio = io.BytesIO()
|
14 |
-
renderPM.drawToFile(drawing, png_bio, fmt="PNG")
|
15 |
-
return png_bio.getvalue()
|
16 |
-
|
17 |
-
def save_png_to_database(username, analysis_id, png_data):
|
18 |
-
"""Guarda la imagen PNG en la base de datos."""
|
19 |
-
client = get_mongodb()
|
20 |
-
db = client['aideatext_db'] # Asegúrate de usar el nombre correcto de tu base de datos
|
21 |
-
collection = db['png_diagrams']
|
22 |
-
|
23 |
-
png_base64 = base64.b64encode(png_data).decode('utf-8')
|
24 |
-
|
25 |
-
document = {
|
26 |
-
'username': username,
|
27 |
-
'analysis_id': analysis_id,
|
28 |
-
'png_data': png_base64
|
29 |
-
}
|
30 |
-
|
31 |
-
result = collection.insert_one(document)
|
32 |
-
return result.inserted_id
|
33 |
-
|
34 |
-
def process_and_save_svg_diagrams(username, analysis_id, svg_diagrams):
|
35 |
-
"""Procesa una lista de diagramas SVG, los convierte a PNG y los guarda en la base de datos."""
|
36 |
-
png_ids = []
|
37 |
-
for svg in svg_diagrams:
|
38 |
-
png_data = convert_svg_to_png(svg)
|
39 |
-
png_id = save_png_to_database(username, analysis_id, png_data)
|
40 |
-
png_ids.append(png_id)
|
41 |
-
return png_ids
|
42 |
-
|
43 |
-
# Función para recuperar PNGs de la base de datos
|
44 |
-
def get_png_diagrams(username, analysis_id):
|
45 |
-
"""Recupera los diagramas PNG de la base de datos para un análisis específico."""
|
46 |
-
client = get_mongodb()
|
47 |
-
db = client['aideatext_db']
|
48 |
-
collection = db['png_diagrams']
|
49 |
-
|
50 |
-
diagrams = collection.find({'username': username, 'analysis_id': analysis_id})
|
51 |
-
return [base64.b64decode(doc['png_data']) for doc in diagrams]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
utils/txt.txt
DELETED
File without changes
|
utils/widget_utils.py
DELETED
@@ -1,7 +0,0 @@
|
|
1 |
-
# modules/utils/widget_utils.py
|
2 |
-
import streamlit as st
|
3 |
-
|
4 |
-
def generate_unique_key(module_name, element_type="input", username=None):
|
5 |
-
# Si el nombre de usuario no se pasa explícitamente, lo toma de session_state
|
6 |
-
username = username or st.session_state.username
|
7 |
-
return f"{module_name}_{element_type}_{username}"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|