def sendEmailToUser(userIDData, userIDDest): #Conseguir el correo del usuario para obtener la direccion mail = getUserEmailAddress(userIDDest) if (mail): print("Preparando correo electronico...") #preparar el correo msg = MIMEMultipart() msg['From'] = smtpUsername msg['To'] = mail msg['Subject'] = "Historial tomas de presion para el usuario " + userIDData body = "Se anexa el archivo excel con el historial del usuario " + userIDData msg.attach(MIMEText(body, 'plain')) print("Success!!") print("Agregando archivo " + userIDData + ".xlsx a correo electronico") #Agregamos el archivo part = MIMEBase('application', "octet-stream") part.set_payload(open(userIDData + ".xlsx", "rb").read()) Encoders.encode_base64(part) part.add_header('Content-Disposition', 'attachment; filename="' + userIDData + '.xlsx"') msg.attach(part) text = msg.as_string() print("Success!!") print("Enviando email...") server.sendmail(smtpUsername, mail, text) print("Correo enviado con exito a " + mail) #Eliminar el arhcivo print("Eliminando archivo cache") os.remove(userIDData + ".xlsx") print("Success!!") resultJson = {"success": "yes"} return resultJson else: return mysql.sendErrorMssg( "Error consiguiendo el correo electronico del usuario")
def getUserDataToExml(userID): print("Generando archivo XLSX para usuario " + userID) #Creamos el archivo de excel workbook = xlsxwriter.Workbook(userID+'.xlsx') worksheet = workbook.add_worksheet() print("Agregando Header con la informacion del paciente...") #agregar header al archivo de excel worksheet=addHeaderToExcelFile(worksheet,userID) if(worksheet==False):return mysql.sendErrorMssg("Error creando el header del archivo") #agregar el historial de los pacientes print("Agregando historial del paciente...") worksheet=loadUserDataIntoWorksheet(worksheet,userID) if(worksheet==False):return mysql.sendErrorMssg("Error insertando el historial del paciente") #cerramos el archivo de excel print("Success!!...") workbook.close() print("Guardado en disco!") successJson={"success":"yes"} return successJson
def validateUser(userID, userPassword): print("Validando usuario con la base de datos....") #Pedir al servidor mysql los datos data = mysql.fetchDataFromDatabase( "SELECT password FROM usuario WHERE userID='" + userID + "'") row = mysql.getFirstElement(data) #Ver si las claves estan correctas if (row[0] != userPassword): print("Las claves no son validas para el usuario " + userID) return mysql.sendErrorMssg("Error, las claves no son correctas") #Regresar success print("Usuario validado con exito!") returnJson = {"success", "yes"} return returnJson
def summary(): try: if (request.method == "POST"): #Conseguir los parametros POST requestedUserID = request.form["requestedUserID"] userID = request.form['userID'] userPassword = request.form['userPassword'] #Validar que tenga una cuenta en la base de datos d = validateUser(userID, userPassword) if 'error' in d: return jsonify(d) d = getUserDataToExml(requestedUserID) #Ver si ocurrio un error if 'error' in d: return jsonify(d) #llamar funcion para enviar el correo con el archivo d = sendEmailToUser(requestedUserID, userID) return jsonify(d) else: return jsonify(sendErrorMssg("Error en los parametros POST")) except Exception as e: print(e) return jsonify(sendErrorMssg("Error interno de servidor"))