Esempio n. 1
0
 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()