def restore_email(self, resp, fresh_true_list,vendor_dict): '''send out the restored email''' subject="" resp.response.out.write("-------------------------<h3>Restored Email Part</h3>---------------------------") latest_email_id_list = [data.station_id for data in database.EmailRecord.all().filter("latest_email", True).run()] resp.response.out.write("<h4>Latest Email Station List</h4>") resp.response.out.write(latest_email_id_list) logging.info(latest_email_id_list) #build restore station list restore_station_list = [data for data in fresh_true_list if data['station_id'] in latest_email_id_list] #build restore email list restore_email_list = MonitorHelper.buildInfoList(restore_station_list,vendor_dict) resp.response.out.write("<h4>Restored Station List</h4>") resp.response.out.write(restore_email_list) #build restore email content and send out email if len(restore_email_list) !=0: for info in restore_email_list: q_result = database.EmailRecord.all().filter("station_id",info[0]).get() time = q_result.email_time.strftime("%Y-%m-%d %H:%M:%S") html = MonitorHelper.buildRestoreEmailContent(self,info,time) self.response.out.write(html) self.response.out.write("<br />") #logging.info(html) recipient=self.__class__.default_email_list[:] if info[2] == "Ag-tronix": recipient.append("*****@*****.**") recipient.append("*****@*****.**") elif info[2] == "Spectrum Technologies Inc": recipient.append("*****@*****.**") elif info[2] == "McCrometer": recipient.append("*****@*****.**") else: recipient.append(info[4]) recipient.append(info[5]) logging.info("<b>Email to: %s</b>" % ",".join(recipient)) self.response.write("<b>Email to: %s</b><br />" % ",".join(recipient)) subject = "%s weather station data issue resolved" % info[6] #MonitorHelper.emailFdacsInfo(recipient,self,subject,html) #update email record in the database for data in restore_station_list: station_id = data["station_id"] record = database.EmailRecord.all().filter("station_id",station_id).get() record.latest_email = False record.put()