Spaces:
Runtime error
Runtime error
from flask import Flask ,render_template ,request ,jsonify ,redirect ,url_for #line: | |
import pandas as pd #line:2 | |
import ast | |
import numpy as np #line:3 | |
import xlrd2 as xlrd #line:4 | |
import unicodedata #line:5 | |
import spacy #line:6 | |
import inflect #line:7 | |
nlp =spacy .load ("es_core_news_md")#line:9 | |
from inflector import Inflector ,Spanish #line:11 | |
inflector =Inflector (Spanish )#line:12 | |
import speech_recognition as sr #line:13 | |
import os #line:14 | |
import requests #line:15 | |
from requests .auth import HTTPBasicAuth #line:16 | |
import asyncio | |
import aiohttp | |
auth=aiohttp.BasicAuth('1234','API') | |
base_url='https://orva.tedcas.com/api/' | |
xlrd.xlsx.ensure_elementtree_imported(False, None) | |
xlrd.xlsx.Element_has_iter = True | |
async def buscar_faq(query, barra): | |
archivo = "./preguntas_qh_tags2.xlsx" | |
df = pd.read_excel(archivo, engine="openpyxl") | |
p = 0 | |
result = query | |
df2 = [] | |
print("result" + str(result)) | |
for index, row in df.iterrows(): | |
list_words = df.loc[index, 'TAGS2'] | |
list_words = list_words.split(",") | |
df2.append(list_words) | |
ls5 = [] | |
list_words=[] | |
for indexw, word in enumerate(result): | |
result[indexw]=inflector.singularize(str(word)) | |
count_words = np.zeros(len(df.index), dtype=int) | |
for index1,row in enumerate(df2): | |
ls4=[] | |
for word in row: | |
if barra == 0: | |
if word != []: | |
p = 0 | |
for num in range(100): | |
num = num / 10 | |
num = str(num) | |
if word == num: | |
num = num.split(".") | |
ls4.append(num[0]) | |
ls4.append("con") | |
ls4.append(num[1]) | |
p = p + 1 | |
if p == 0: | |
ls4.append(word) | |
if barra == 1: | |
ls4.append(word) | |
ls5.append(ls4) | |
for resulted in result: | |
for index2, word in enumerate(ls5[index1]): | |
if str(resulted)=="maya": | |
resulted="malla" | |
if str(resulted)=="pilos"or str(resulted)=="pilo": | |
resulted="philo" | |
if str(resulted)=="filos"or str(resulted)=="filo": | |
resulted="philo" | |
if str(resulted)=="sinces" or str(resulted)=="sinc": | |
resulted="synthe" | |
if str(resulted)=="sintes" or str(resulted)=="sint": | |
resulted="synthe" | |
if str(resulted)=="axos" or str(resulted)=="axo": | |
resulted="axso" | |
if str(resulted)=="uno": | |
resulted="1" | |
if str(resulted)=="dos" or str(resulted)=="do": | |
resulted="2" | |
if str(resulted)=="tres" or str(resulted)=="tr": | |
resulted="3" | |
if str(resulted)=="cuatro": | |
resulted="4" | |
if str(resulted)=="cinco": | |
resulted="5" | |
if str(resulted)=="seis"or str(resulted)=="sei": | |
resulted="6" | |
if str(resulted)=="siete": | |
resulted="7" | |
if str(resulted)=="ocho": | |
resulted="8" | |
if str(resulted)=="nueve": | |
resulted="9" | |
if str(resulted)=="cero": | |
resulted="0" | |
if str(resulted)=="veintiuno": | |
resulted="21" | |
if str(resulted)=="veinte": | |
resulted="20" | |
if str(resulted)=="veintidos"or str(resulted)=="veintido" : | |
resulted="22" | |
if str(resulted)=="veintitres" or str(resulted)=="veintitre" : | |
resulted="23" | |
if str(resulted)=="veinticuatro": | |
resulted="24" | |
if str(resulted)=="veinticinco": | |
resulted="25" | |
if str(resulted)=="veintiseis"or str(resulted)=="veintisei" : | |
resulted="26" | |
if str(resulted)=="veintisiete": | |
resulted="27" | |
if str(resulted)=="veintiocho": | |
resulted="28" | |
if str(resulted)=="veintinueve": | |
resulted="29" | |
if str(resulted)=="treinta": | |
resulted="30" | |
if str(remove_accents(word)).lower() == str(remove_accents(resulted)).lower(): | |
count_words[index1]=count_words[index1]+1 | |
ls5[index1].pop(index2) | |
indexmax = np.argwhere(count_words == np.amax(count_words)) | |
output=[] | |
preguntas={} | |
df = xlrd.open_workbook(archivo) | |
df = df.sheet_by_index(0) | |
if not np.all(count_words == 0): | |
for indexin in indexmax: | |
sq = df.cell(int(indexin) + 1, 3) | |
sr = df.cell(int(indexin) + 1, 4) | |
sq = str(sq) | |
sr = str(sr) | |
sq = sq.split("'") | |
sr = sr.split("'") | |
output.append(f" {sq[1]} {sr[1]} ") | |
return output | |
async def boton_pdf_video(especialidad, field_tipo, nid): | |
connector = aiohttp.TCPConnector(ssl=True) | |
async with aiohttp.ClientSession(connector=connector) as session: | |
r = await session.get(f'{base_url}all-content/{especialidad}', auth=auth) | |
data = await r.json() | |
nid_list = [] | |
titulos = {} | |
if nid == "0": | |
for text in data: | |
if text['type'] == "Intervencion": | |
nid_list.append(text['nid']) | |
else: | |
nid_list.append(nid) | |
for nid1 in nid_list: | |
r1 = await session.get(f'{base_url}intervenciones/{nid1}', auth=auth) | |
data1 = await r1.json() | |
data1 = data1[0] | |
files = {} | |
if field_tipo in data1: | |
file_list = data1[field_tipo] | |
for file in file_list: | |
if field_tipo == 'field_pdf': | |
files[file['descripcion']] = "https://orva.tedcas.com/"+str(file['url']) | |
if field_tipo == 'field_video': | |
files[file['descripcion']] = str(file['url']) | |
titulos[data1['title']] = files | |
else: | |
if nid == '0': | |
nid = '0' | |
else: | |
print("nid dentro del if " + str(nid)) | |
files["No hay archivos"] = "" | |
titulos["No hay archivos"] = files | |
return {} | |
return titulos | |
async def boton_word_ppt(especialidad, field_tipo, nid): | |
connector = aiohttp.TCPConnector(ssl=True) | |
async with aiohttp.ClientSession(connector=connector) as session: | |
r = await session.get(f'{base_url}all-content/{especialidad}', auth=auth) | |
data = await r.json() | |
nid_list = [] | |
files = {} | |
if nid == '0': | |
for text in data: | |
if text['type'] == "Intervencion": | |
nid_list.append(text['nid']) | |
else: | |
nid_list.append(nid) | |
for nid1 in nid_list: | |
r1 = await session.get(f'{base_url}intervenciones/{nid1}', auth=auth) | |
data1 = await r1.json() | |
data1 = data1[0] | |
if len(data1[field_tipo]) != 0: | |
files[data1['title']] = "https://orva.tedcas.com/"+str(data1[field_tipo]) | |
if len(data1[field_tipo]) == 0 and nid != '0': | |
files["No hay archivos"] = "" | |
return {} | |
return files | |
async def boton_materiales(especialidad, nid): | |
connector = aiohttp.TCPConnector(ssl=True) | |
async with aiohttp.ClientSession(connector=connector) as session: | |
cajas = {} | |
if nid == '0': | |
r = await session.get(f'{base_url}listado_completo_cajas/{especialidad}', auth=auth) | |
data = await r.json() | |
for text in data: | |
cajas[text['title']] = text['nid'] | |
cajas[''] = "si hay" | |
else: | |
r = await session.get(f'{base_url}intervenciones/{nid}', auth=auth) | |
data = await r.json() | |
data = data[0] | |
if 'field_cajas' in data: | |
data = data['field_cajas'] | |
for text in data: | |
cajas[text['caja']] = text['id'] | |
cajas[''] = "si hay" | |
else: | |
if nid != 0: | |
cajas[''] = "" | |
return {} | |
return cajas | |
async def cargar_base_datos(query, url): | |
k1 = None | |
output = [] | |
connector = aiohttp.TCPConnector(ssl=True) | |
async with aiohttp.ClientSession(connector=connector) as session: | |
r = await session.get('https://orva.tedcas.com/api/all-content/'+str(url), auth=auth) | |
data = await r.json() | |
count_words = np.zeros(len(data), dtype=int) | |
query1 = [] | |
for z in query: | |
cont = 0 | |
for num in range(100): | |
num = num / 10 | |
if z == str(num): | |
z = str(num).split('.') | |
query1.append(z) | |
cont = cont + 1 | |
if z == 'con': | |
cont = cont + 1 | |
if cont == 0: | |
query1.append(z) | |
for i in range(len(data)): | |
cont_palabras = 0 | |
data1 = data[i] | |
titulo = str(data1['title']).lower() | |
titulo = remove_accents(titulo) | |
titulo = titulo.split(' ') | |
for index, j in enumerate(titulo): | |
for index1, j1 in enumerate(titulo): | |
if index1 != index: | |
if j == j1: | |
titulo.pop(index1) | |
for index, j in enumerate(titulo): | |
for num in range(100): | |
num = num / 10 | |
if j == str(num): | |
j = str(num).split('.') | |
titulo.append(j) | |
for k in query1: | |
if k=="maya": | |
k="malla" | |
if k=="pilos"or k=="pilo": | |
k="philo" | |
if k=="filos"or k=="filo": | |
k="philo" | |
if k=="sinces" or k=="sinc": | |
k="synthe" | |
if k=="sintes" or k=="sint": | |
k="synthe" | |
if k=="axos" or k=="axo": | |
k="axso" | |
if k=="uno": | |
k=1 | |
if k=="dos" or k=="do": | |
k=2 | |
if k=="tres" or k=="tr": | |
k=3 | |
if k=="cuatro": | |
k=4 | |
if k=="cinco": | |
k=5 | |
if k=="seis"or k=="sei": | |
k=6 | |
if k=="siete": | |
k=7 | |
if k=="ocho": | |
k=8 | |
if k=="nueve": | |
k=9 | |
if k=="cero": | |
k=0 | |
if k=="veintiuno": | |
k="21" | |
if k=="veinte": | |
k="20" | |
if k=="veintidos"or k=="veintido" : | |
k="22" | |
if k=="veintitres" or k=="veintitre" : | |
k="23" | |
if k=="veinticuatro": | |
k="24" | |
if k=="veinticinco": | |
k="25" | |
if k=="veintiseis"or k=="veintisei" : | |
k="26" | |
if k=="veintisiete": | |
k="27" | |
if k=="veintiocho": | |
k="28" | |
if k=="veintinueve": | |
k="29" | |
if k=="treinta": | |
k="30" | |
if type(k)==int and type(k1)==int: | |
num=str(k1)+'.'+str(k) | |
k=num.split('.') | |
k1=k | |
k=inflector.singularize(str(k)) | |
j=inflector.singularize(str(j)) | |
k=remove_accents(k) | |
if j==k: | |
cont_palabras=cont_palabras+1 | |
count_words[i] = cont_palabras | |
indexmax = np.argwhere(count_words == np.amax(count_words)) | |
for i in indexmax: | |
output.append(data[int(i)]) | |
if np.all(count_words == 0): | |
output = None | |
return output | |
async def cargar_tipo(nid, url): | |
connector = aiohttp.TCPConnector(ssl=True) | |
async with aiohttp.ClientSession(connector=connector) as session: | |
r = await session.get(f'{base_url}all-content/{url}', auth=auth) | |
data = await r.json() | |
tipo = None | |
output = None | |
for data1 in data: | |
if nid == data1["nid"]: | |
tipo = data1["type"] | |
output = data1 | |
break | |
return output, tipo | |
async def cargar_archivo(field_tipo, texto, url): | |
file = [] | |
connector = aiohttp.TCPConnector(ssl=True) | |
async with aiohttp.ClientSession(connector=connector) as session: | |
r = await session.get('https://orva.tedcas.com/api/'+str(url), auth=auth) | |
data = await r.json() | |
data = data[0] | |
field1 = "field_"+str(field_tipo) | |
field = data[field1] | |
if field1 == "field_image": | |
data=data['field_image'] | |
data=data.split(',') | |
data = [s.replace(' ', '') for s in data] | |
for text in data: | |
file.append("https://orva.tedcas.com/"+str(text)) | |
print(file) | |
return file | |
if len(field)==0 : | |
file_texto="No hay archivos subidos" | |
file="templates/especialidad" | |
elif type(field)==str: | |
file="https://orva.tedcas.com/"+str(field) | |
file_texto=field | |
elif type(field)==list: | |
for i,files in field: | |
file[i]="https://orva.tedcas.com/"+str(files) | |
file_texto=field | |
return texto,file,file_texto | |
async def cargar_archivo_grande(field_tipo, texto, url): | |
connector = aiohttp.TCPConnector(ssl=True) | |
async with aiohttp.ClientSession(connector=connector) as session: | |
r = await session.get('https://orva.tedcas.com/api/'+str(url), auth=auth) | |
data = await r.json() | |
files = {} | |
if field_tipo=='title_material': | |
for text in data: | |
files[text[field_tipo]]=(text[field_tipo]) | |
return files,texto | |
data = data[0] | |
field = "field_"+str(field_tipo) | |
field = data[field] | |
if len(field) == 0: | |
files["No hay archivos"]="templates/especialidad" | |
else : | |
for text in field : | |
files[text['descripcion']]="https://orva.tedcas.com/"+str(text['url']) | |
return texto,files | |
async def cargar_caja(url, texto): | |
instrumental = {} | |
connector = aiohttp.TCPConnector(ssl=True) | |
async with aiohttp.ClientSession(connector=connector) as session: | |
r = await session.get(f'{base_url}intervenciones/{url}', auth=auth) | |
data = await r.json() | |
data = data[0] | |
if 'field_cajas' in data: | |
data=data['field_cajas'] | |
for text in data: | |
instrumental[text['id']]=text['caja'] | |
else: | |
instrumental[str(url)]="No hay archivos" | |
return instrumental,texto | |
async def cargar_instrumental(nid, url): | |
cajas = {} | |
connector = aiohttp.TCPConnector(ssl=True) | |
async with aiohttp.ClientSession(connector=connector) as session: | |
r = await session.get('https://orva.tedcas.com/api/'+str(url), auth=auth) | |
data = await r.json() | |
for text in data : | |
if 'instrumental' in text: | |
for word in text['instrumental']: | |
if word['id']==nid: | |
cajas[text['nid']]=text['title'] | |
return cajas | |
async def cargar_botones_pdf_admision(): | |
mapa_camas = {} | |
ambulancias = {} | |
programacion_quirurgica = {} | |
otros = {} | |
connector = aiohttp.TCPConnector(ssl=True) | |
async with aiohttp.ClientSession(connector=connector) as session: | |
r = await session.get('https://orva.tedcas.com/api/all-content/1621', auth=auth) | |
data = await r.json() | |
for text in data: | |
r1 = await session.get('https://orva.tedcas.com/api/intervenciones/'+str(text['nid']), auth=auth) | |
data1 = await r1.json() | |
data1 = data1[0] | |
data2 = data1['field_pdf'] | |
data2 = data2[0] | |
if data1['field_tecnica'] == "Mapa de camas": | |
mapa_camas[data1['title']] = "https://orva.tedcas.com/"+str(data2['url']) | |
elif data1['field_tecnica'] == "Ambulancias": | |
ambulancias[data1['title']] = "https://orva.tedcas.com/"+str(data2['url']) | |
elif data1['field_tecnica'] == "Programación quirúrgica": | |
programacion_quirurgica[data1['title']] = "https://orva.tedcas.com/"+str(data2['url']) | |
elif data1['field_tecnica'] == "Otros": | |
otros[data1['title']] = "https://orva.tedcas.com/"+str(data2['url']) | |
return mapa_camas, ambulancias, programacion_quirurgica, otros | |
def remove_accents(input_str): | |
nfkd_form = unicodedata.normalize('NFKD', input_str) | |
return u"".join([c for c in nfkd_form if not unicodedata.combining(c)]) | |
def adaptar_salida(query): | |
result = [] | |
query = str(query).lower() | |
query = query.split("}") | |
query = query[0].split(":") | |
if len(query) >= 2: | |
result1 = query[1].split("'") | |
result = result1[1].split() | |
return result | |
def takeCommand(): | |
r = sr.Recognizer() | |
with sr.Microphone() as source: | |
print("Listening...") | |
r.pause_threshold = 1 | |
audio = r.adjust_for_ambient_noise(source) | |
audio = r.listen(source) | |
try: | |
print("Recognizing...") | |
query = r.recognize_google(audio, language='es-ES') | |
print(f"User said: {query}\n") | |
except Exception as e: | |
print(e) | |
print("Unable to Recognize your voice.") | |
return "none" | |
# automatically load the interface from a HF model | |
# you can remove the api_key parameter if you don't care about rate limiting. | |
#import gradio as gr | |
#from transformers import pipeline | |
#import numpy as np | |
#transcriber = pipeline("automatic-speech-recognition", model="openai/whisper-base.en") | |
#def transcribe(audio): | |
# sr, y = audio | |
# y = y.astype(np.float32) | |
# y /= np.max(np.abs(y)) | |
# return transcriber({"sampling_rate": sr, "raw": y})["text"] | |
#demo = gr.Interface( | |
# transcribe, | |
# gr.Audio(source="microphone"), | |
# "text", | |
#) | |
#demo.launch() | |
#query=text | |
######################################### | |
return query | |
app = Flask (__name__) | |
app.config['SECRET_KEY'] = 'mysecretkey' | |
IMG_FOLDER = os.path.join('static','IMG') | |
app.config['UPLOAD_FOLDER'] = IMG_FOLDER | |
async def hello(): | |
trauma = os.path.join(app.config['UPLOAD_FOLDER'], 'trauma.jpeg') | |
uro = os.path.join(app.config['UPLOAD_FOLDER'], 'uro.jpeg') | |
adm = os.path.join(app.config['UPLOAD_FOLDER'], 'adm.jpeg') | |
tijeras = os.path.join(app.config['UPLOAD_FOLDER'], 'tijerass.png') | |
return render_template('especialidad.html',user_image0=tijeras, user_image1=trauma, user_image2=uro, user_image3=adm) | |
async def especialidad(): | |
trauma = os.path.join(app.config['UPLOAD_FOLDER'], 'trauma.jpeg') | |
uro = os.path.join(app.config['UPLOAD_FOLDER'], 'uro.jpeg') | |
adm = os.path.join(app.config['UPLOAD_FOLDER'], 'adm.jpeg') | |
tijeras = os.path.join(app.config['UPLOAD_FOLDER'], 'tijerass.png') | |
return render_template('especialidad.html',user_image0=tijeras,user_image1=trauma, user_image2=uro, user_image3=adm) | |
async def seleccion_trauma(): | |
lupa = os.path.join(app.config['UPLOAD_FOLDER'], 'lupa.png') | |
micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png') | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
return render_template('seleccion_trauma.html',user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha) | |
async def buscador_trauma(): | |
lupa = os.path.join(app.config['UPLOAD_FOLDER'], 'lupa.png') | |
micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png') | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png') | |
materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png') | |
pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg') | |
protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg') | |
visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png') | |
query=str(request.form.to_dict()) | |
query=adaptar_salida(query) | |
result_busqueda={} | |
result_busqueda[""]="" | |
if len(query)==0: | |
return render_template('buscador_trauma.html',result_busqueda=result_busqueda, user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 ) | |
elif query!=None or "{}": | |
url=1 | |
output=await cargar_base_datos(query,url) | |
output2=await buscar_faq(query,1) | |
if output==None : | |
if len(output2)==0: | |
return render_template('buscador_trauma.html',result_busqueda=result_busqueda,prediction_text="No hay resultados para tu busqueda", user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 ) | |
else: | |
return render_template('buscador_trauma.html',faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 ) | |
elif len(output)>=1: | |
titulo=[] | |
nid=[] | |
result_busqueda={} | |
for text in output: | |
titulo.append(text["title"]) | |
nid.append(text["nid"]) | |
for i,text in enumerate(titulo): | |
result_busqueda[nid[i]]=text | |
if len(output2)!=0: | |
return render_template('buscador_trauma1.html',faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 ) | |
else: | |
return render_template('buscador_trauma1.html',result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 ) | |
async def resultado_trauma(): | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png') | |
materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png') | |
pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg') | |
protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg') | |
visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png') | |
nid=request.args.get('link') | |
output,tipo=await cargar_tipo(nid,1) | |
title=output['title'] | |
#if tipo="instrumen" | |
if tipo=="Intervencion": | |
instrumental,texto_cajas=await cargar_caja(str(nid),'Instrumental - Cajas: ') | |
return render_template('intervencion_trauma.html',user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,instrumental=instrumental,texto_cajas=texto_cajas, title=title, user_image6=ajustes,user_image7=flecha,nid2=nid ) | |
elif tipo=='Caja': | |
texto_ubi,file_ubi,file_texto_ubi=await cargar_archivo("ubicacion","Ubicacion: ","cajas/"+str(nid)) | |
file_imagen=await cargar_archivo("image","Imagen: ","cajas/"+str(nid)) | |
files_instru, texto_instru=await cargar_archivo_grande("title_material","Instrumental : ","cajas/"+str(nid)) | |
if len(title)==1: | |
return render_template('caja_trauma1.html',title=title,files_instru=files_instru, texto_instru=texto_instru,texto_ubi=texto_ubi,file_texto_ubi=file_texto_ubi,file_imagen=file_imagen,user_image6=ajustes,user_image7=flecha ) | |
else: | |
return render_template('caja_trauma.html',title=title,files_instru=files_instru, texto_instru=texto_instru,texto_ubi=texto_ubi,file_texto_ubi=file_texto_ubi,file_imagen=file_imagen,user_image6=ajustes,user_image7=flecha ) | |
elif tipo=='Instrumental': | |
cajas=await cargar_instrumental(nid,'listado_completo_cajas/1') | |
if len(cajas)==1: | |
return render_template('instrumental_trauma1.html',cajas=cajas,texto='El instrumental que buscas esta presente en las siguientes cajas: ',title=title,user_image6=ajustes,user_image7=flecha ) | |
else: | |
return render_template('instrumental_trauma.html',cajas=cajas,texto='El instrumental que buscas esta presente en las siguientes cajas: ',title=title,user_image6=ajustes,user_image7=flecha ) | |
async def protocolos_trauma(): | |
nid2=request.args.get('link2') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
protocolos=await boton_word_ppt(1,"field_protocolo",nid2) | |
if len(protocolos)==1: | |
return render_template('protocolo1.html',protocolos=protocolos,user_image7=flecha) | |
else: | |
return render_template('protocolo.html',protocolos=protocolos,user_image7=flecha) | |
async def guia_visual_trauma(): | |
nid2=request.args.get('link2') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
guia_visual=await boton_word_ppt(1,"field_guia_visual",nid2) | |
if len(guia_visual)==1: | |
return render_template('guia_visual1.html',guia_visual=guia_visual,user_image7=flecha) | |
else: | |
return render_template('guia_visual.html',guia_visual=guia_visual,user_image7=flecha) | |
async def pdf_casa_trauma(): | |
nid2=request.args.get('link2') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
titulos=await boton_pdf_video(1,"field_pdf",nid2) | |
contador_pdf_trauma = 0 | |
for titulo1, pdfs in titulos.items(): | |
for titulo2, url in pdfs.items(): | |
contador_pdf_trauma = contador_pdf_trauma + 1 | |
if len(titulos.items())==1: | |
if contador_pdf_trauma==1: | |
print("bien") | |
return render_template('pdf_casa_comercial1.html',user_image7=flecha,titulos=titulos) | |
else: | |
return render_template('pdf_casa_comercial.html',user_image7=flecha,titulos=titulos) | |
else: | |
return render_template('pdf_casa_comercial.html',user_image7=flecha,titulos=titulos) | |
async def videos_trauma(): | |
nid2=request.args.get('link2') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
titulos=await boton_pdf_video(1,"field_video",nid2) | |
contador_videos_trauma = 0 | |
for titulo1, pdfs in titulos.items(): | |
for titulo2, url in pdfs.items(): | |
contador_videos_trauma = contador_videos_trauma + 1 | |
if len(titulos.items())==1: | |
if contador_videos_trauma==1: | |
print("bien") | |
return render_template('videos1.html',user_image7=flecha,titulos=titulos) | |
else: | |
return render_template('videos.html',user_image7=flecha,titulos=titulos) | |
else: | |
return render_template('videos.html',user_image7=flecha,titulos=titulos) | |
async def materiales_trauma(): | |
nid2=request.args.get('link2') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
cajas=await boton_materiales(1,nid2) | |
if len(cajas[''])==0: | |
return render_template('materiales_uro.html',user_image7=flecha,cajas=cajas,no_hay="No hay instrumental") | |
else: | |
if len(cajas)==1: | |
return render_template('materiales_uro1.html',user_image7=flecha,cajas=cajas) | |
else: | |
return render_template('materiales_uro.html',user_image7=flecha,cajas=cajas) | |
async def escuchar_trauma1(): | |
guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png') | |
materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png') | |
pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg') | |
protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg') | |
visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png') | |
micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png') | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
return render_template('escuchar_trauma1.html',nid2=0,prediction_text="Dale a `Escuchar´ y haz tu pregunta",user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales ) | |
async def escuchar_trauma(): | |
######################################################################### | |
lupa = os.path.join(app.config['UPLOAD_FOLDER'], 'lupa.png') | |
micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png') | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png') | |
materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png') | |
pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg') | |
protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg') | |
visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png') | |
########################################################################### | |
guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png') | |
materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png') | |
pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg') | |
protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg') | |
visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png') | |
micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png') | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
######################################################################################### | |
r = sr.Recognizer() | |
recognized_text = "" # Valor predeterminado | |
if request.method == "POST": | |
f = request.files['audio_data'] | |
# Cargar el archivo adjunto directamente | |
with sr.AudioFile(f) as source: | |
audio_data = r.record(source) | |
# Realizar el reconocimiento de voz | |
try: | |
recognized_text = r.recognize_google(audio_data, language='es-ES') | |
except sr.UnknownValueError: | |
recognized_text = "No se pudo reconocer el audio" | |
except sr.RequestError as e: | |
recognized_text = f"Error en la solicitud: {str(e)}" | |
print(recognized_text) | |
#return render_template('index.html', recognized_text=recognized_text) | |
#else: | |
########################################################################################## | |
query=recognized_text | |
print("TEXTO") | |
print(query) | |
#query = takeCommand() | |
query=str(query).lower() | |
query=query.split() | |
result_busqueda={} | |
result_busqueda[""]="" | |
if query[0]!="none": | |
url=1 | |
output=await cargar_base_datos(query,url) | |
output2=await buscar_faq(query,0) | |
if output==None: | |
if len(output2)==0: | |
return render_template('escuchar_trauma.html',nid2=0,result_busqueda=result_busqueda,prediction_text="No hay resultados para tu busqueda",user_image6=ajustes,user_image7=flecha,user_image5=micro,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales ) | |
else: | |
return render_template('escuchar_trauma.html',nid2=0,faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image6=ajustes,user_image7=flecha,user_image5=micro,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales ) | |
elif len(output)>=1: | |
titulo=[] | |
nid=[] | |
result_busqueda={} | |
for text in output: | |
titulo.append(text["title"]) | |
nid.append(text["nid"]) | |
for i,text in enumerate(titulo): | |
result_busqueda[nid[i]]=text | |
print("RESULT BUSQUEDA") | |
print(result_busqueda) | |
if len(output2)==0: | |
print("render1") | |
return render_template('escuchar_trauma.html',nid2=0,result_busqueda=result_busqueda,user_image6=ajustes,user_image7=flecha,user_image5=micro, user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales ) | |
else: | |
print("render2") | |
return render_template('buscador_trauma.html',faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 ) | |
#return render_template('escuchar_trauma.html',nid2=0,faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image6=ajustes,user_image7=flecha,user_image5=micro, user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales ) | |
else : | |
return render_template('escuchar_trauma.html',nid2=0,result_busqueda=result_busqueda,prediction_text="No te he entendido bien, dale al boton `Escuchar´ y repite tu pregunta",user_image5=micro,user_image6=ajustes,user_image7=flecha, user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales ) | |
async def buscador_admision(): | |
lupa = os.path.join(app.config['UPLOAD_FOLDER'], 'lupa.png') | |
micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png') | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
otros_img = os.path.join(app.config['UPLOAD_FOLDER'], 'otros_img.png') | |
programacion_img = os.path.join(app.config['UPLOAD_FOLDER'], 'programacion_img.png') | |
ambulancias_img = os.path.join(app.config['UPLOAD_FOLDER'], 'ambulancias_img.jpg') | |
mapa_camas_img = os.path.join(app.config['UPLOAD_FOLDER'], 'mapa_camas_img.jpg') | |
query=str(request.form.to_dict()) | |
query=adaptar_salida(query) | |
result_busqueda={} | |
result_busqueda[""]="" | |
if len(query)==0: | |
return render_template('buscador_admision.html',user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,result_busqueda=result_busqueda,prediction_text="ya puedes hacer tu pregunta", user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha ) | |
elif query!=None or "{}": | |
url=1621 | |
output=await cargar_base_datos(query,url) | |
output2=await buscar_faq(query,1) | |
if output==None: | |
if len(output2)==0: | |
return render_template('buscador_admision.html',user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,result_busqueda=result_busqueda,prediction_text="No hay resultados para tu busqueda", user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha) | |
else: | |
return render_template('buscador_admision.html',user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda, user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha) | |
elif len(output)>=1: | |
titulo=[] | |
nid=[] | |
result_busqueda={} | |
for text in output: | |
nid.append(text["nid"]) | |
for nid1 in nid: | |
connector = aiohttp.TCPConnector(ssl=True) | |
async with aiohttp.ClientSession(connector=connector) as session: | |
r1 = await session.get('https://orva.tedcas.com/api/intervenciones/'+str(nid1), auth=auth) | |
data1=await r1.json() | |
data1=data1[0] | |
data2=data1['field_pdf'] | |
data2=data2[0] | |
result_busqueda[data1['title']]="https://orva.tedcas.com/"+str(data2['url']) | |
if len(output2)==0: | |
return render_template('buscador_admision1.html',user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha ) | |
else: | |
return render_template('buscador_admision1.html',faqs=output2,faq_titulo="Preguntas y respuestas: ",user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha ) | |
async def mapa_camas(): | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
mapa_camas1,ambulancias,programacion_quirurgica,otros =await cargar_botones_pdf_admision() | |
return render_template('mapa_camas.html', text=mapa_camas1,user_image6=ajustes,user_image7=flecha) | |
async def ambulancias(): | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
mapa_camas,ambulancias,programacion_quirurgica,otros =await cargar_botones_pdf_admision() | |
return render_template('ambulancias.html', text=ambulancias,user_image6=ajustes,user_image7=flecha) | |
async def programacion_quirurgica(): | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
mapa_camas,ambulancias,programacion_quirurgica,otros =await cargar_botones_pdf_admision() | |
return render_template('programacion_quirurgica.html', text=programacion_quirurgica,user_image6=ajustes,user_image7=flecha) | |
async def otros(): | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
mapa_camas,ambulancias,programacion_quirurgica,otros =await cargar_botones_pdf_admision() | |
return render_template('otros.html', text=otros,user_image6=ajustes,user_image7=flecha) | |
async def escuchar_admision1(): | |
otros_img = os.path.join(app.config['UPLOAD_FOLDER'], 'otros_img.png') | |
programacion_img = os.path.join(app.config['UPLOAD_FOLDER'], 'programacion_img.png') | |
ambulancias_img = os.path.join(app.config['UPLOAD_FOLDER'], 'ambulancias_img.jpg') | |
mapa_camas_img = os.path.join(app.config['UPLOAD_FOLDER'], 'mapa_camas_img.jpg') | |
micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png') | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
return render_template('escuchar_admision1.html',user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,prediction_text="Dale a `Escuchar´ y haz tu pregunta",user_image5=micro,user_image6=ajustes,user_image7=flecha) | |
async def escuchar_admision(): | |
######################################################################### | |
lupa = os.path.join(app.config['UPLOAD_FOLDER'], 'lupa.png') | |
micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png') | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png') | |
materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png') | |
pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg') | |
protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg') | |
visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png') | |
########################################################################### | |
otros_img = os.path.join(app.config['UPLOAD_FOLDER'], 'otros_img.png') | |
programacion_img = os.path.join(app.config['UPLOAD_FOLDER'], 'programacion_img.png') | |
ambulancias_img = os.path.join(app.config['UPLOAD_FOLDER'], 'ambulancias_img.jpg') | |
mapa_camas_img = os.path.join(app.config['UPLOAD_FOLDER'], 'mapa_camas_img.jpg') | |
lupa = os.path.join(app.config['UPLOAD_FOLDER'], 'lupa.png') | |
micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png') | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
######################################################################################### | |
r = sr.Recognizer() | |
recognized_text = "" # Valor predeterminado | |
if request.method == "POST": | |
f = request.files['audio_data'] | |
# Cargar el archivo adjunto directamente | |
with sr.AudioFile(f) as source: | |
audio_data = r.record(source) | |
# Realizar el reconocimiento de voz | |
try: | |
recognized_text = r.recognize_google(audio_data, language='es-ES') | |
except sr.UnknownValueError: | |
recognized_text = "No se pudo reconocer el audio" | |
except sr.RequestError as e: | |
recognized_text = f"Error en la solicitud: {str(e)}" | |
print(recognized_text) | |
#return render_template('index.html', recognized_text=recognized_text) | |
query=recognized_text | |
#else: | |
########################################################################################## | |
#query = takeCommand() | |
query=str(query).lower() | |
query=query.split() | |
print(query) | |
result_busqueda={} | |
result_busqueda[""]="" | |
if query[0]!="none": | |
url=1621 | |
output=await cargar_base_datos(query,url) | |
output2=await buscar_faq(query,0) | |
if output==None: | |
if len(output2)==0: | |
return render_template('escuchar_admision.html',user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,result_busqueda=result_busqueda,prediction_text="No hay resultados para tu busqueda", user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha) | |
else: | |
return render_template('escuchar_admision.html',faqs=output2,faq_titulo="Preguntas y respuestas: ",user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,result_busqueda=result_busqueda, user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha) | |
elif len(output)>=1: | |
titulo=[] | |
nid=[] | |
result_busqueda={} | |
for text in output: | |
nid.append(text["nid"]) | |
for nid1 in nid: | |
connector = aiohttp.TCPConnector(ssl=True) | |
async with aiohttp.ClientSession(connector=connector) as session: | |
r1 = await session.get('https://orva.tedcas.com/api/intervenciones/'+str(nid1), auth=auth) | |
data1=await r1.json() | |
data1=data1[0] | |
data2=data1['field_pdf'] | |
data2=data2[0] | |
result_busqueda[data1['title']]="https://orva.tedcas.com/"+str(data2['url']) | |
if len(output2)==0: | |
return render_template('escuchar_admision.html',user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha ) | |
else: | |
print("render2") | |
return render_template('buscador_admision.html',faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 ) | |
#return render_template('escuchar_admision.html',faqs=output2,faq_titulo="Preguntas y respuestas: ",user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha ) | |
else: | |
return render_template('escuchar_admision.html',user_image8=mapa_camas_img,user_image9=ambulancias_img,user_image10=programacion_img,user_image11=otros_img,prediction_text="No te he entendido bien, dale al boton `Escuchar´ y repite tu pregunta",result_busqueda=result_busqueda, user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha ) | |
async def buscador_uro(): | |
lupa = os.path.join(app.config['UPLOAD_FOLDER'], 'lupa.png') | |
micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png') | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png') | |
materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png') | |
pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg') | |
protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg') | |
visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png') | |
query=str(request.form.to_dict()) | |
query=adaptar_salida(query) | |
result_busqueda={} | |
result_busqueda[""]="" | |
if len(query)==0: | |
return render_template('buscador_uro.html',result_busqueda=result_busqueda, user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 ) | |
elif query!=None or "{}": | |
url=1620 | |
output=await cargar_base_datos(query,url) | |
output2=await buscar_faq(query,1) | |
if output==None : | |
if len(output2)==0: | |
return render_template('buscador_uro.html',result_busqueda=result_busqueda,prediction_text="No hay resultados para tu busqueda", user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 ) | |
else: | |
return render_template('buscador_uro.html',faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 ) | |
elif len(output)>=1: | |
titulo=[] | |
nid=[] | |
result_busqueda={} | |
for text in output: | |
titulo.append(text["title"]) | |
nid.append(text["nid"]) | |
for i,text in enumerate(titulo): | |
result_busqueda[nid[i]]=text | |
if len(output2)!=0: | |
return render_template('buscador_uro1.html',faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 ) | |
else: | |
return render_template('buscador_uro1.html',result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 ) | |
async def resultado_uro(): | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png') | |
materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png') | |
pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg') | |
protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg') | |
visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png') | |
nid=request.args.get('link') | |
output,tipo=await cargar_tipo(nid,1620) | |
title=output['title'] | |
if tipo=="Intervencion": | |
print("hola1") | |
instrumental,texto_cajas=await cargar_caja(str(nid),'Instrumental - Cajas: ') | |
return render_template('intervencion_uro.html',user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,instrumental=instrumental,texto_cajas=texto_cajas, title=title, user_image6=ajustes,user_image7=flecha,nid2=nid ) | |
elif tipo=='Caja': | |
texto_ubi,file_ubi,file_texto_ubi=await cargar_archivo("ubicacion","Ubicacion: ","cajas/"+str(nid)) | |
file_imagen=await cargar_archivo("image","Imagen: ","cajas/"+str(nid)) | |
files_instru, texto_instru=await cargar_archivo_grande("title_material","Instrumental : ","cajas/"+str(nid)) | |
if len(title)==1: | |
return render_template('caja_trauma1.html',title=title,files_instru=files_instru, texto_instru=texto_instru,texto_ubi=texto_ubi,file_texto_ubi=file_texto_ubi,file_imagen=file_imagen,user_image6=ajustes,user_image7=flecha ) | |
else: | |
return render_template('caja_trauma.html',title=title,files_instru=files_instru, texto_instru=texto_instru,texto_ubi=texto_ubi,file_texto_ubi=file_texto_ubi,file_imagen=file_imagen,user_image6=ajustes,user_image7=flecha ) | |
elif tipo=='Instrumental': | |
print("hola2") | |
cajas=await cargar_instrumental(nid,'listado_completo_cajas/1620') | |
if len(cajas)==1: | |
return render_template('instrumental_uro1.html',cajas=cajas,texto='El instrumental que buscas esta presente en las siguientes cajas: ',title=title,user_image6=ajustes,user_image7=flecha ) | |
else: | |
return render_template('instrumental_uro.html',cajas=cajas,texto='El instrumental que buscas esta presente en las siguientes cajas: ',title=title,user_image6=ajustes,user_image7=flecha ) | |
async def protocolos_uro(): | |
nid2=request.args.get('link2') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
protocolos=await boton_word_ppt(1620,"field_protocolo",nid2) | |
if len(protocolos)==1: | |
return render_template('protocolo1.html',protocolos=protocolos,user_image7=flecha) | |
else: | |
return render_template('protocolo.html',protocolos=protocolos,user_image7=flecha) | |
async def guia_visual_uro(): | |
nid2=request.args.get('link2') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
guia_visual=await boton_word_ppt(1620,"field_guia_visual",nid2) | |
if len(guia_visual)==1: | |
return render_template('guia_visual1.html',guia_visual=guia_visual,user_image7=flecha) | |
else: | |
return render_template('guia_visual.html',guia_visual=guia_visual,user_image7=flecha) | |
async def pdf_casa_uro(): | |
nid2=request.args.get('link2') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
titulos=await boton_pdf_video(1620,"field_pdf",nid2) | |
contador_pdf_uro = 0 | |
for titulo1, pdfs in titulos.items(): | |
for titulo2, url in pdfs.items(): | |
contador_pdf_uro = contador_pdf_uro + 1 | |
if len(titulos.items())==1: | |
if contador_pdf_uro==1: | |
print("bien") | |
return render_template('pdf_casa_comercial1.html',user_image7=flecha,titulos=titulos) | |
else: | |
return render_template('pdf_casa_comercial.html',user_image7=flecha,titulos=titulos) | |
else: | |
return render_template('pdf_casa_comercial.html',user_image7=flecha,titulos=titulos) | |
async def videos_uro(): | |
nid2=request.args.get('link2') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
titulos=await boton_pdf_video(1620,"field_video",nid2) | |
contador_videos_uro=0 | |
for titulo1, pdfs in titulos.items(): | |
for titulo2, url in pdfs.items(): | |
contador_videos_uro = contador_videos_uro + 1 | |
if len(titulos.items())==1: | |
if contador_videos_uro==1: | |
return render_template('videos1.html',user_image7=flecha,titulos=titulos) | |
else: | |
return render_template('videos.html',user_image7=flecha,titulos=titulos) | |
else: | |
return render_template('videos.html',user_image7=flecha,titulos=titulos) | |
async def materiales_uro(): | |
nid2=request.args.get('link2') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
cajas=await boton_materiales(1620,nid2) | |
if len(cajas[''])==0: | |
return render_template('materiales_uro.html',user_image7=flecha,cajas=cajas,no_hay="No hay instrumental") | |
else: | |
if len(cajas)==1: | |
return render_template('materiales_uro1.html',user_image7=flecha,cajas=cajas) | |
else: | |
return render_template('materiales_uro.html',user_image7=flecha,cajas=cajas) | |
async def escuchar_uro1(): | |
guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png') | |
materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png') | |
pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg') | |
protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg') | |
visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png') | |
micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png') | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
return render_template('escuchar_uro1.html',nid2=0,prediction_text="Dale a `Escuchar´ y haz tu pregunta",user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales ) | |
async def escuchar_uro(): | |
######################################################################### | |
lupa = os.path.join(app.config['UPLOAD_FOLDER'], 'lupa.png') | |
micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png') | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png') | |
materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png') | |
pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg') | |
protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg') | |
visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png') | |
################################################################################# | |
guia_visual_ppt = os.path.join(app.config['UPLOAD_FOLDER'], 'guia_visual.png') | |
materiales = os.path.join(app.config['UPLOAD_FOLDER'], 'materiales.png') | |
pdf_casa = os.path.join(app.config['UPLOAD_FOLDER'], 'pdf_casa.jpg') | |
protocolo_word = os.path.join(app.config['UPLOAD_FOLDER'], 'protocolo.jpg') | |
visualizar_videos = os.path.join(app.config['UPLOAD_FOLDER'], 'visualizar_video.png') | |
micro = os.path.join(app.config['UPLOAD_FOLDER'], 'micro.png') | |
ajustes = os.path.join(app.config['UPLOAD_FOLDER'], 'ajustes.png') | |
flecha = os.path.join(app.config['UPLOAD_FOLDER'], 'flecha.png') | |
######################################################################################### | |
r = sr.Recognizer() | |
recognized_text = "" # Valor predeterminado | |
if request.method == "POST": | |
f = request.files['audio_data'] | |
# Cargar el archivo adjunto directamente | |
with sr.AudioFile(f) as source: | |
audio_data = r.record(source) | |
# Realizar el reconocimiento de voz | |
try: | |
recognized_text = r.recognize_google(audio_data, language='es-ES') | |
except sr.UnknownValueError: | |
recognized_text = "No se pudo reconocer el audio" | |
except sr.RequestError as e: | |
recognized_text = f"Error en la solicitud: {str(e)}" | |
print(recognized_text) | |
#return render_template('index.html', recognized_text=recognized_text) | |
query=recognized_text | |
#else: | |
########################################################################################## | |
#query = takeCommand() | |
query=str(query).lower() | |
query=query.split() | |
result_busqueda={} | |
result_busqueda[""]="" | |
if query[0]!="none": | |
url=1620 | |
output=await cargar_base_datos(query,url) | |
output2=await buscar_faq(query,0) | |
if output==None: | |
if len(output2)==0: | |
return render_template('escuchar_uro.html',nid2=0,result_busqueda=result_busqueda,prediction_text="No hay resultados para tu busqueda",user_image6=ajustes,user_image7=flecha,user_image5=micro,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales ) | |
else: | |
return render_template('escuchar_uro.html',nid2=0,faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image6=ajustes,user_image7=flecha,user_image5=micro,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales ) | |
elif len(output)>=1: | |
titulo=[] | |
nid=[] | |
result_busqueda={} | |
for text in output: | |
titulo.append(text["title"]) | |
nid.append(text["nid"]) | |
for i,text in enumerate(titulo): | |
result_busqueda[nid[i]]=text | |
if len(output2)==0: | |
return render_template('escuchar_uro.html',nid2=0,result_busqueda=result_busqueda,user_image6=ajustes,user_image7=flecha,user_image5=micro, user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales ) | |
else: | |
#return render_template('escuchar_uro.html',nid2=0,faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image6=ajustes,user_image7=flecha,user_image5=micro, user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales ) | |
return render_template('buscador_uro.html',faqs=output2,faq_titulo="Preguntas y respuestas: ",result_busqueda=result_busqueda,user_image4=lupa,user_image5=micro,user_image6=ajustes,user_image7=flecha,user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales,nid2=0 ) | |
else : | |
return render_template('escuchar_uro.html',nid2=0,result_busqueda=result_busqueda,prediction_text="No te he entendido bien, dale al boton `Escuchar´ y repite tu pregunta",user_image5=micro,user_image6=ajustes,user_image7=flecha, user_image8=pdf_casa,user_image9=protocolo_word,user_image10=guia_visual_ppt,user_image11=visualizar_videos,user_image12=materiales ) | |
async def ajustes(): | |
estrella = os.path.join(app.config['UPLOAD_FOLDER'], 'estrella.png') | |
return render_template('ajustes.html',user_image7=estrella) | |
if __name__ == "__main__": | |
app.run(host="0.0.0.0", port=7860,debug =True) | |