create func to generate status report in excel

This commit is contained in:
saravanan30erd 2019-11-24 17:23:07 +04:00
parent d5943d7f9a
commit a1a39f0b1b
2 changed files with 29 additions and 2 deletions

View file

@ -9,9 +9,11 @@ import sys
import datetime import datetime
from collections import OrderedDict from collections import OrderedDict
from operator import itemgetter from operator import itemgetter
import utils
urls = ('/', 'index', urls = ('/', 'index',
'/help', 'help' '/help', 'help',
'/download', 'download'
) )
app = web.application(urls, globals()) app = web.application(urls, globals())
@ -69,7 +71,6 @@ def getMonit():
server = dict(name=site, url=s['url'], result=sorted_checks, s_rate=count) server = dict(name=site, url=s['url'], result=sorted_checks, s_rate=count)
output.append(server) output.append(server)
print(datetime.datetime.now()) print(datetime.datetime.now())
return(output) return(output)

26
bin/utils.py Normal file
View file

@ -0,0 +1,26 @@
import xlsxwriter
import os
def generate_report_excel(output, filename):
if os.path.exists(filename):
os.remove(filename)
workbook = xlsxwriter.Workbook(filename)
bold = workbook.add_format({'bold': 1})
for server in range(len(output)):
worksheet = workbook.add_worksheet(output[server]['name'])
worksheet.set_column('A:A', 40)
worksheet.set_column('B:B', 15)
worksheet.write('A1', 'Components', bold)
worksheet.write('B1', 'Status', bold)
row = 1
col = 0
for key, value in output[server]['result'].items():
worksheet.write_string(row, col, key)
if value == 0:
status = 'OK'
else:
status = 'Error'
worksheet.write_string(row, col + 1, key)
worksheet.write_string(row, col + 1, status)
row += 1
workbook.close()