#import libraries
import os, subprocess, time, shutil
from datetime import datetime
#format date to nonflex standard
def formatdate(date, time):
input= date+time
output= datetime.strptime(input, "%d%b%y%H:%M:%S:").strftime("%m/%d/%Y|%H:%M:%S")
return output
# stop the service, copy the log file to C:\NonFlex\RotatedLogs and start service
service_status = subprocess.run(['sc', 'stop', 'ghs_lm'])
time.sleep(10)
shutil.move("C:\\NonFlex\\DebugLogs\\ghs.dl.rtf","C:\\NonFlex\\RotatedLogs\\"+"ghslm_"+str(datetime.now().strftime("%Y%m%d"))+"_ts-apps15.rl")
service_status = subprocess.run(['sc', 'start', 'ghs_lm'])
#pass log file into script
filename = ("C:\\NonFlex\\RotatedLogs\\"+"ghslm_"+str(datetime.now().strftime("%Y%m%d"))+"_ts-apps15.rl")
with open(filename) as g:
content = g.readlines()
#create log file for output
filename = ("C:\\NonFlex\\ReportLogs\\"+"ghslm_"+str(datetime.now().strftime("%Y%m%d"))+"_ts-apps15.log")
f= open(filename,"w+")
#parse the lines in the file
for line in content:
line=line.split()
try:
date=formatdate(line[0],line[1])
except:
continue
#process license checkouts | working
if "granted" in line:
username=(line[8].split("@")[0])
ipaddress=(line[8].split("@")[1])
feature=line[3]
f.write(date+"|OUT|"+feature+"|1|0|"+username+"|"+ipaddress+"\n")
#process license checkins
if "exit" in line or "released" in line:
#process checkin
if line[2]=="exit":
username=(line[4].split("@")[0])
ipaddress=(line[4].split("@")[1])
feature=line[3]
else:
username=(line[2].split("@")[0])
ipaddress=(line[2].split("@")[1])
feature=line[4]
f.write(date+"|IN|"+feature+"|1|0|"+username+"|"+ipaddress+"\n")
#log license startup| Working
if "Starting" in line and "License" in line:
f.write(formatdate(line[0],line[1])+"|START"+"\n")
#log license shutdowns| Working
if "Exiting" in line:
f.write(formatdate(line[0],line[1])+"|END"+"\n")
if "Feature" in line:
date=formatdate(line[0],line[1])
quantity=line[5]
feature=(line[4][1:-2])
f.write(date+"|FEATURE|"+feature+"|"+quantity+"\n")
#close file and copy to \\orl4dfsns1.us.lmco.com\orlando\scoc_dfs\LicAdm\NonFlexPC
f.close()
shutil.copyfile(filename,"\\\\orl4dfsns1.us.lmco.com\\orlando\\scoc_dfs\\LicAdm\\NonFlexPC\\"+"ghslm_"+str(datetime.now().strftime("%Y%m%d"))+"_ts-apps15.log")