def post(self): export_type = self.request.get("export_type") if export_type == "export_general_email": options = self.request.get("options") user_email = self.request.get("user_email") file_name = self.request.get("file_name") date_from = self.request.get("date_from") date_to = self.request.get("date_to") date_from = int(date_from, base=10) date_to = int(date_to, base=10) date_from = datetime.datetime.fromtimestamp(date_from) date_to = datetime.datetime.fromtimestamp(date_to) # Consulta data = EmailModel.get_all_emails_by_dates_async(date_from, date_to, options) elif export_type == "export_sended_email": options = self.request.get("options") user_email = self.request.get("user_email") file_name = self.request.get("file_name") date_from = self.request.get("date_from") date_to = self.request.get("date_to") date_from = int(date_from, base=10) date_to = int(date_to, base=10) date_from = datetime.datetime.fromtimestamp(date_from) date_to = datetime.datetime.fromtimestamp(date_to) # Consulta data = EmailModel.get_all_sended_emails_by_dates_async(date_from, date_to, options) elif export_type == "export_failure_email": options = self.request.get("options") user_email = self.request.get("user_email") file_name = self.request.get("file_name") date_from = self.request.get("date_from") date_to = self.request.get("date_to") date_from = int(date_from, base=10) date_to = int(date_to, base=10) date_from = datetime.datetime.fromtimestamp(date_from) date_to = datetime.datetime.fromtimestamp(date_to) # Consulta data = EmailModel.get_all_failure_emails_by_dates_async(date_from, date_to, options) elif export_type == "export_search_by_email": email = self.request.get("email") email = str(email).lower() user_email = self.request.get("user_email") file_name = self.request.get("file_name") date_from = self.request.get("date_from") date_to = self.request.get("date_to") date_from = int(date_from, base=10) date_to = int(date_to, base=10) date_from = datetime.datetime.fromtimestamp(date_from) date_to = datetime.datetime.fromtimestamp(date_to) # Consulta data = EmailModel.get_info_by_email_async(date_from, date_to, email) elif export_type == "export_search_by_folio": folio = self.request.get("folio") folio = str(folio).lower() user_email = self.request.get("user_email") file_name = self.request.get("file_name") # Consulta data = EmailModel.get_emails_by_folio_async(folio) elif export_type == "export_search_by_rut": rut = self.request.get("rut") rut = str(rut).upper() user_email = self.request.get("user_email") file_name = self.request.get("file_name") date_from = self.request.get("date_from") date_to = self.request.get("date_to") date_from = int(date_from, base=10) date_to = int(date_to, base=10) date_from = datetime.datetime.fromtimestamp(date_from) date_to = datetime.datetime.fromtimestamp(date_to) # Consulta data = EmailModel.get_emails_by_rut_receptor_async(date_from, date_to, rut) elif export_type == "export_search_by_failure": user_email = self.request.get("user_email") file_name = self.request.get("file_name") date_from = self.request.get("date_from") date_to = self.request.get("date_to") date_from = int(date_from, base=10) date_to = int(date_to, base=10) date_from = datetime.datetime.fromtimestamp(date_from) date_to = datetime.datetime.fromtimestamp(date_to) # Consulta data = EmailModel.get_all_failure_emails_by_dates_async(date_from, date_to) elif export_type == "export_search_by_mount": mount_from = self.request.get("mount_from") mount_to = self.request.get("mount_to") mount_from = int(mount_from, base=10) mount_to = int(mount_to, base=10) user_email = self.request.get("user_email") file_name = self.request.get("file_name") date_from = self.request.get("date_from") date_to = self.request.get("date_to") date_from = int(date_from, base=10) date_to = int(date_to, base=10) date_from = datetime.datetime.fromtimestamp(date_from) date_to = datetime.datetime.fromtimestamp(date_to) # Consulta data = EmailModel.get_emails_by_mount_async(date_from, date_to, mount_from, mount_to) # Creación del documento doc_export = create_tablib_async(data) # Buscar el objeto usuario user = UserModel.get_user(user_email) logging.info(user) # Proceso de correo mail = EmailClient() mail_report = { "email": user.email, "user_name": user.first_name, "subject": REPORT_SUBJECT_MAIL, "html": REPORT_HTML_MAIL.format(user_name=user.first_name), "attach": {"name": file_name, "file": doc_export.xlsx}, } mail.send_mail_to_user_attach(mail_report)