create func to generate status report in excel
This commit is contained in:
parent
d5943d7f9a
commit
a1a39f0b1b
|
@ -9,9 +9,11 @@ import sys
|
|||
import datetime
|
||||
from collections import OrderedDict
|
||||
from operator import itemgetter
|
||||
import utils
|
||||
|
||||
urls = ('/', 'index',
|
||||
'/help', 'help'
|
||||
'/help', 'help',
|
||||
'/download', 'download'
|
||||
)
|
||||
|
||||
app = web.application(urls, globals())
|
||||
|
@ -69,7 +71,6 @@ def getMonit():
|
|||
server = dict(name=site, url=s['url'], result=sorted_checks, s_rate=count)
|
||||
|
||||
output.append(server)
|
||||
|
||||
print(datetime.datetime.now())
|
||||
return(output)
|
||||
|
||||
|
|
26
bin/utils.py
Normal file
26
bin/utils.py
Normal 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()
|
Loading…
Reference in a new issue