Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import csv
- import time
- import glob
- import os.path
- import re
- import smtplib
- from datetime import datetime
- from datetime import timedelta
- from conn import Con
- import sys
- import MySQLdb
- hostname = "10.93.173.205"
- counter=0
- gmail_user = 'iitteamits@gmail.com'
- gmail_pwd = 'teamits@2013'
- emailids = ['bharathiraja.muthurajan@gmail.com']
- #emailids = ['sriprixi@gmail.com','bharathiraja.muthurajan@gmail.com','rdeepan1992@gmail.com','lalithank@gmail.com']
- class alerts:
- def __init__(self, runDate=None):
- print ("success")
- self.conn = MySQLdb.connect("localhost","root","root","traveltime")
- #self.con = Con()
- self.cur = self.conn.cursor()
- #self.con = Con()
- #self.cur = self.con.cur
- self.process()
- #self.process()
- def gettotaldevices(self):
- with open('device.csv', 'r') as f:
- reader = csv.reader(f)
- master_List = list(reader)
- #print master_List
- master_list=[]
- for item1 in master_List:
- #print trip
- d = "-()"
- master_li = re.split(''.join(d), str(item1))[-1]
- master_li = int(re.findall('\d+', master_li)[0])
- #print(tripno)
- master_list.append(str(master_li))
- #print master_list
- total = len(master_list)
- return total,master_list
- def getnotworkingdevices(self,devicelist):
- curDate=time.strftime("%Y-%m-%d")
- path = 'F://GPSDATA/'
- faultylist=[]
- for item in devicelist:
- file_path1=os.path.join(*[path,str(curDate)+"/"+str(item)+".csv"])
- file_path=os.path.join(*[path,str(item)+".csv"])
- if not os.path.isfile(file_path):
- if not os.path.isfile(file_path1):
- faultylist.append(item)
- return faultylist
- def sendMail(self,content):
- try:
- smtpserver = smtplib.SMTP("smtp.gmail.com",587)
- smtpserver.ehlo()
- smtpserver.starttls()
- smtpserver.ehlo
- smtpserver.login(gmail_user, gmail_pwd)
- #emailids = ['mineethac@hotmail.com','mailtomineetha@gmail.com']
- to = tuple(x[1] for x in enumerate(emailids))
- #print to, "HA"
- header = 'To:' + str(to) + '\n' + 'From: ' + gmail_user + '\n' + 'Subject:kanpur Device Update \n'
- #print header
- msg = header + '\n'+content+' \n\n'
- smtpserver.sendmail(gmail_user, to, msg)
- #print to
- print ('Successfully sent Daily Status of GPS Devices as email !!!')
- smtpserver.close()
- counter = 1
- except smtplib.socket.gaierror:
- pass
- def getdevroute(self,faultylist):
- try:
- query = "select route from dev_route where dev_id='%s' limit 1" %(str(faultylist))
- print(query)
- self.cur.execute(query)
- result = str(self.cur.fetchone())
- print (result[2:6])
- return result[2:6]
- except MySQLdb.Error as e:
- print (e)
- def getfleet(self,fleet):
- try:
- query="select fleet_id from dev_route where dev_id='%s' limit 1" %(str(fleet))
- print(query)
- self.cur.execute(query)
- result = str(self.cur.fetchone())
- print (result[2:10])
- return result[2:10]
- except:
- print ("error in fleet")
- def process(self):
- curDate=time.strftime( "%Y-%m-%d")
- Device_list=[]
- TotalDevices,Device_list=self.gettotaldevices()
- faultylist = self.getnotworkingdevices(Device_list)
- totalfaulty=len(faultylist)
- content="The status of "+str(TotalDevices)+" Kanpur GPS devices as on "+curDate+" are listed below: \n"
- content=content+"There are "+str(totalfaulty)+ " not working devices \n\n"+"\n--------------------------------------------------------------------------------------\n\n" +" Device id\t\t Route \t\t Fleetid \t\tAlert Type"+"\n--------------------------------------------------------------------------------\n"
- #content=content+ str(faultylist)
- for i in range(len(faultylist)):
- content = content+ str(faultylist[i])+"\t\t"+str(self.getdevroute(str(faultylist[i])))+"\t \t"+str(self.getfleet(str(faultylist[i])))+"\t\tNot Working"+"\n"
- print(content)
- self.sendMail(content)
- #Notworking=getnotworkingdevices(Device_list)
- if __name__ == '__main__':
- a=alerts()
Add Comment
Please, Sign In to add comment