Python - como procesar datos diferentes con una misma funcion

 
Vista:

como procesar datos diferentes con una misma funcion

Publicado por Yoandy (1 intervención) el 30/10/2022 05:22:14
Hola, si alguin puede ayudarme con una aplicacion que tengo echa, la cual mediante un comando enviado por email me busca en internet, selecciona, descarga y envia de regreso una hoja de datos pdf, todo trabaja bien hasta el momento en que le envio dos solicitudes casi simultaneas la segunda sin haber esperado el pdf de la primera, me mezcla las dos formando un caos, quisiera sabes si es posible encerrar esta funcion en una especie de cola para que realice una tarea a la vez asi no interferirian la cantidad de solicitudes que le haga.

#el dato entrante seria ejemplo: BD140
def DataSh(string):
print('Buscando: '+string)
keyword = string + ' filetype:pdf'
results = ddg(keyword, region='es-es', time=2, max_results=25)
for link in results:
URL = link.get('href', [])
print(URL)
for LK in sitios:
if re.match(LK, URL):
LINKS.append(URL)
try:
urllib.request.urlretrieve(LINKS[0], string + '.pdf')
print('\nSeleccionada:' +LINKS[0])
LINKS.clear()
return string + '.pdf', 'adj'
except IndexError:
return string+' no encontrado, intente otra búsqueda', 'text'


...


#Sitios de mi preferencia
sitios = ['https://www.123.com',
'https://www.456.com',
'https://www.789.com'
...]


#comandos disponibles
commands = {
'/echo': Echo,
'/help': Help,
...
'/chip': DataSh
}

#el bucle que controla todo el proceso actuaria asi
while True:
#Cuando se obtiene el comando valido se asigna a cmds
...
salida = commands[cmds[0]](cmds[1])#ejecuto
mail(salida[0], salida[1]) # y envio
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder