本文整理汇总了Python中HTML.HTML.start_table方法的典型用法代码示例。如果您正苦于以下问题:Python HTML.start_table方法的具体用法?Python HTML.start_table怎么用?Python HTML.start_table使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HTML.HTML
的用法示例。
在下文中一共展示了HTML.start_table方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: createReports
# 需要导入模块: from HTML import HTML [as 别名]
# 或者: from HTML.HTML import start_table [as 别名]
def createReports(symObj,site,datacenter,sid):
#
www = HTML()
# Create directories if they don't exist
f = Files()
f.dir = "/www/" + site + "/OR/"
f.mkdir()
htmlfile = '/www/' + site + '/OR/index.html'
perf = '/opt/EMC/Scripts/shell/rcopyperf_' + sid + '.log'
f.read_file(perf)
page = []
page.append(www.start_html_refresh('OR Sessions'))
page.append(www.EMC_Header(site,datacenter))
page.append(www.start_table(1,"OR Port Performance"))
header = ["FA Port","MB/s","Ceiling","Number of Devices"]
page.append(www.th_list(header))
perftotal = 0
for line in f.readfile:
line = line.strip()
fields = line.split()
if len(fields) == 5:
fields = fields[1:5]
perftotal += int(fields[1])
page.append(www.tr_list(fields))
page.append(www.tr + www.th + "Total OR MB/s" + www.th + str(perftotal))
page.append(www.end_table)
page.append('<br><br><pre>\n')
for line in symObj.or_list:
page.append(line)
f.write_file(htmlfile,page)
示例2: createReports
# 需要导入模块: from HTML import HTML [as 别名]
# 或者: from HTML.HTML import start_table [as 别名]
def createReports(sloObj,site,datacenter):
www = HTML()
html_index = '/www/' + site + '/fast.html'
sloCSV = '/www/' + site + '/CSV/' + site + '_slo.csv'
csv = open(sloCSV, 'w')
f_index = open(html_index,'w')
f_index.write(www.start_html('SLO Summary'))
linkpath = "/" + site + "/CSV/" + site + '_slo.csv'
fpSummLink = '<a href=' + linkpath + '>SLO CSV</a>\n'
f_index.write(www.EMC_Header(site,datacenter,'',fpSummLink))
csv.write('SLO Report for ' + site + '\n\n')
csv.write("SLO Policy,Response Time Target\n")
f_index.write(www.start_table(3,'SLO Policies'))
f_index.write(www.tr + www.th + 'Policy Name' + www.th + 'Response Time Target (ms)\n')
for slo in sloObj.slo_policies:
html = www.tr + www.td + slo + www.td + sloObj.slo_policies[slo] + "\n"
csv.write(slo + ',' + sloObj.slo_policies[slo] + '\n')
f_index.write(html)
f_index.write(www.end_table)
f_index.write(www.end_html)
f_index.close()
csv.close()
示例3: createReports
# 需要导入模块: from HTML import HTML [as 别名]
# 或者: from HTML.HTML import start_table [as 别名]
def createReports(fpObj,site,datacenter):
htmlpage = []
csvpage = []
www = HTML()
f = Files()
html_index = '/www/' + site + '/fast_demand.html'
fastCSV = '/www/' + site + '/CSV/' + site + '_fast_demand.csv'
htmlpage.append(www.start_html('MV Summary'))
linkpath = "/" + site + "/CSV/" + site + '_fast_demand.csv'
fpSummLink = '<a href=' + linkpath + '>FAST CSV</a>\n'
htmlpage.append(www.EMC_Header(site,datacenter,'',fpSummLink))
csvpage.append('FAST-VP Report for ' + site + '\n\n')
htmlpage.append(www.start_table(3,'FAST-VP Demand report'))
heading = ['SG_Name']
for tier in fpObj.tiernames:
heading.append(tier)
htmlpage.append(www.th_list(heading))
csvpage.append(', '.join(heading))
for sg in fpObj.tiers:
#
line = [str(sg)]
for tiername in fpObj.tiernames:
if tiername in fpObj.tiers[sg]:
line.append(fpObj.tiers[sg][tiername])
else:
line.append('0')
csvpage.append(', '.join(line))
htmlpage.append(www.tr_list(line))
htmlpage.append(www.end_table)
htmlpage.append(www.end_html)
f.write_file(html_index,htmlpage)
f.write_file(fastCSV,csvpage)
示例4: createReports
# 需要导入模块: from HTML import HTML [as 别名]
# 或者: from HTML.HTML import start_table [as 别名]
def createReports(sgObj,site,datacenter):
#
# Create directories if they don't exist
orange = '#F7EE6F'
green = '#69F24E'
dir = "/www/" + site + "/SG/"
if not os.path.isdir(dir):
subprocess.call(["mkdir", dir])
dir = '/www/' + site + '/CSV'
if not os.path.isdir(dir):
subprocess.call(["mkdir", dir])
#
#
reportDate = str(time.strftime("%c"))
GB = float(sgObj.ProvisionedCapacity)/1024
ProvisionedGB = "%.2f" % GB
info1 = 'Total Porvisioned(GB)=' + str(ProvisionedGB)
www = HTML()
html_index = '/www/' + site + '/index.html'
sgSummCSV = '/www/' + site + '/CSV/' + site + '_SG_Summary.csv'
f_index = open(html_index,'w')
f_SummCSV = open(sgSummCSV,'w')
f_SummCSV.write("Storage Group,FAST Policy,Capacity GB,Masking View,Max IOPS,Max MB/s\n")
linkpath = "/" + site + "/CSV/" + site + '_SG_Summary.csv'
sgSummLink = '<a href=' + linkpath + '>Summary CSV</a>\n'
f_index.write(www.start_html('SG Summary'))
f_index.write(www.EMC_Header(site,datacenter,info1,sgSummLink))
f_index.write(www.start_table())
f_index.write(www.end_table)
# Dictionary: key = policy name and value is a list of html formatted lines, one line per SG with that policy.
fpTables = {}
# Dictionary of policies. Used to iterate over the above var.
policies = {}
demandpage = '/www/' + site + '/fast_demand.html'
f = Files()
f.read_file(demandpage)
dp = f.readfile[:]
for sg in sgObj.SGs:
#
#
found = False
demandtable = ''
for txt in dp:
if 'SG_Name' in txt:
hr = txt
if str(sg) in txt:
found = True
rowdata = txt
if found:
demandtable = '<br><p><table border=3 align=center><caption>FAST-VP Demand</caption>\n'
demandtable += hr
demandtable += '\n'
demandtable += rowdata
demandtable += '\n'
demandtable += '\n</table>'
color = ''
if sg in sgObj.Associations:
fp = sgObj.Associations[sg]
else:
fp = 'NO_FAST_POLICY'
color = orange
#
policies[fp] = 1
if not fp in fpTables:
fpTables[fp] = []
#
link = "/" + site + "/SG/" + sg + ".html"
sgGB = float(sgObj.SG2Capacity[sg])/1024
sgProvisionedGB = "%.2f" % sgGB
MVs = sgObj.SGinMV[sg]
IOPS_LIMIT = str(sgObj.SG_IOPS_Limit[sg])
MB_LIMIT = str(sgObj.SG_MB_Limit[sg])
if MVs.upper() == 'NO':
color = orange
rowlist = ["<a href=" + link + '>' + sg + "</a>",fp, str(sgProvisionedGB),MVs,IOPS_LIMIT,MB_LIMIT]
SGhtml = www.tr_list(rowlist,color)
fpTables[fp].append(SGhtml)
f_SummCSV.write(sg + ',' + fp + ',' + str(sgProvisionedGB) + ',' + MVs + ',' + IOPS_LIMIT + ',' + MB_LIMIT + "\n")
# go ahead and write out the sg detail HTML page.
sgfile = "/www/" + site + "/SG/" + sg + ".html"
sgCSV = "/www/" + site + "/CSV/" + site + '_' + sg + ".csv"
linkpath = "/" + site + "/CSV/" + site + '_' + sg + ".csv"
link1 = '<a href=' + linkpath + '>SG CSV</a>\n'
f_sg = open(sgfile,'w')
f_sgCSV = open(sgCSV,'w')
f_sgCSV.write('Storage Group Report for ' + sg + '\n\n\n')
f_sg.write(www.start_html('SG Detail'))
f_sg.write(www.EMC_Header(site,datacenter,'',link1))
html = "<p><H3><center>Detailed Storage Report for " + sg + " SSC_VMAX40K_1794</center></H3>\n"
f_sg.write(html)
f_sg.write(www.start_table())
f_sg.write(www.tr + www.th + "Storage Group<th>FAST<TH>Capacity GB</tr>\n")
html = www.tr + www.td + sg + www.td + fp + www.td + str(sgProvisionedGB) + "\n"
f_sg.write(html)
f_sg.write(www.end_table)
#.........这里部分代码省略.........
示例5: createReports
# 需要导入模块: from HTML import HTML [as 别名]
# 或者: from HTML.HTML import start_table [as 别名]
def createReports(sgObj,site,datacenter):
#
# Create directories if they don't exist
orange = '#F7EE6F'
green = '#69F24E'
dir = "/www/" + site + "/SG/"
if not os.path.isdir(dir):
subprocess.call(["mkdir", dir])
dir = '/www/' + site + '/CSV'
if not os.path.isdir(dir):
subprocess.call(["mkdir", dir])
#
#
reportDate = str(time.strftime("%c"))
GB = float(sgObj.ProvisionedCapacity)/1024
ProvisionedGB = "%.2f" % GB
info1 = 'Total Porvisioned(GB)=' + str(ProvisionedGB)
www = HTML()
html_index = '/www/' + site + '/index.html'
sgSummCSV = '/www/' + site + '/CSV/' + site + '_SG_Summary.csv'
f_index = open(html_index,'w')
f_SummCSV = open(sgSummCSV,'w')
f_SummCSV.write("Storage Group,SLO Policy,Capacity GB,Masking View,Max IOPS,Max MB/s\n")
linkpath = "/" + site + "/CSV/" + site + '_SG_Summary.csv'
sgSummLink = '<a href=' + linkpath + '>Summary CSV</a>\n'
f_index.write(www.start_html('SG Summary'))
f_index.write(www.EMC_Header(site,datacenter,info1,sgSummLink))
f_index.write(www.start_table())
f_index.write(www.end_table)
fpTables = {}
policies = {}
for sg in sgObj.SGs:
#
color = ''
link = "/" + site + "/SG/" + sg + ".html"
sgGB = float(sgObj.SG2Capacity[sg])/1024
sgProvisionedGB = "%.2f" % sgGB
MVs = sgObj.SGinMV[sg]
fp = sgObj.SGinSLO[sg]
policies[fp] = 1
if not fp in fpTables:
fpTables[fp] = []
IOPS_LIMIT = str(sgObj.SG_IOPS_Limit[sg])
MB_LIMIT = str(sgObj.SG_MB_Limit[sg])
if MVs.upper() == 'NO':
color = orange
rowlist = ["<a href=" + link + '>' + sg + "</a>",fp, str(sgProvisionedGB),MVs,IOPS_LIMIT,MB_LIMIT]
SGhtml = www.tr_list(rowlist,color)
fpTables[fp].append(SGhtml)
f_SummCSV.write(sg + ',' + fp + ',' + str(sgProvisionedGB) + ',' + MVs + ',' + IOPS_LIMIT + ',' + MB_LIMIT + "\n")
# go ahead and write out the sg detail HTML page.
sgfile = "/www/" + site + "/SG/" + sg + ".html"
sgCSV = "/www/" + site + "/CSV/" + site + '_' + sg + ".csv"
linkpath = "/" + site + "/CSV/" + site + '_' + sg + ".csv"
link1 = '<a href=' + linkpath + '>SG CSV</a>\n'
f_sg = open(sgfile,'w')
f_sgCSV = open(sgCSV,'w')
f_sgCSV.write('Storage Group Report for ' + sg + '\n\n\n')
f_sg.write(www.start_html('SG Detail'))
f_sg.write(www.EMC_Header(site,datacenter,'',link1))
html = "<p><H3><center>Detailed Storage Report for " + sg + " SSC_VMAX40K_1794</center></H3>\n"
f_sg.write(html)
f_sg.write(www.start_table())
f_sg.write(www.tr + www.th + "Storage Group<th>SLO Policy<TH>Capacity GB</tr>\n")
html = www.tr + www.td + sg + www.td + fp + www.td + str(sgProvisionedGB) + "\n"
f_sg.write(html)
f_sg.write(www.end_table)
f_sg.write(www.start_table(3,'Device List'))
f_sg.write(www.tr + www.th + "Device<th>Capacity GB</tr>\n")
f_sgCSV.write("Volume,Capacity GB\n")
for device in sgObj.SGs[sg]:
devGB = float(sgObj.SGs[sg][device])/1024
dev_formatted = "%.2f" % devGB
html = www.tr + www.td + device + www.td + str(dev_formatted) +"\n"
f_sg.write(html)
f_sgCSV.write(device + ',' + str(dev_formatted) + '\n')
f_sg.write(www.end_table)
f_sg.write(www.end_html)
f_sg.close()
f_sgCSV.close()
for fp in policies:
f_index.write(www.start_table(3,'Groups with SLO ' + fp + ' Policy'))
f_index.write("<tr><th>Storage Group<th>SLO Policy<TH>Capacity GB<TH>Masking View<TH>IOPS Limit<TH>MB/s Limit</tr>\n")
for line in fpTables[fp]:
f_index.write(line)
f_index.write(www.end_table)
f_index.write(www.end_html)
f_index.close()
f_SummCSV.close()
示例6: createReports
# 需要导入模块: from HTML import HTML [as 别名]
# 或者: from HTML.HTML import start_table [as 别名]
def createReports(sgObj,site,datacenter):
www = HTML()
mailObj = EMail()
dates = DateString()
tiers = ['EFD','FC','SATA']
alertLimits = {}
alertLimits['EFD'] = 99
alertLimits['FC'] = 80
alertLimits['SATA'] = 85
page = []
csvpage = []
temppage = []
today = dates.today
yesterday = dates.yesterday
tomorrow = dates.tomorrow
pagedirs = ['download','history']
subdirs = [today,tomorrow,yesterday]
f = Files()
for dir in pagedirs:
f.dir = '/var/www/html/' + dir
f.mkdir()
for sub in subdirs:
f.dir = '/var/www/html/' + dir + '/' + sub
f.mkdir()
csvfile = '/www/download/' + today + '/' + site + '_pools.csv'
csvfileperm = '/www/download/' + site + '_pools.csv'
csvlink = '<a href=/download/' + today + '/' + site + '_pools.csv>CSV</a>'
yesterdaylink = '<a href=/history/' + yesterday + '/' + datacenter + site + '_EMC_Summary.html>' + yesterday + '</a>'
tomorrowlink = '<a href=/history/' + tomorrow + '/' + datacenter + site + '_EMC_Summary.html>' + tomorrow + '</a>'
htmlfile1 = '/www/history/' + today + '/' + datacenter + site + '_EMC_Summary.html'
tempfile = '/www/history/' + tomorrow + '/' + datacenter + site + '_EMC_Summary.html'
htmlfile2 = '/www/' + datacenter + site + '_EMC_Summary.html'
reportDate = str(time.strftime("%c"))
page.append(www.start_html('Thin Pool Report for ' + site))
page.append(www.EMC_Header(site,datacenter,'',csvlink))
page.append('<p><br><table align=center border=3>\n')
row = ['EMC Storage Summary Report',tomorrowlink,yesterdaylink]
page.append(www.th_list(row))
page.append(www.end_table)
page.append(www.start_table(3,site))
heading = ['Pool','Capacity','Used','Percent Used','Free','Provisioned','Subscription','Subscription Limit','PRC','Technology','Protection']
page.append(www.th_list(heading))
total_usable = 0
total_provisioned = 0
total_used = 0
total_free = 0
#csvpage.append('Thin Pool Report for ' + site + '\n\n')
csvpage.append(', '.join(heading) + '\n')
alertMessage = 'The following pools exceed set thresholds...\n\n'
alerts = 0
for tier in tiers:
for pool in sgObj.pools.keys():
comparepool = str(pool)
comparepool = pool.upper()
if tier in comparepool:
##########
compression = sgObj.pooldetails[pool]['COMPRESSION']
subscription_limit = sgObj.pooldetails[pool]['SUBSCRIPTION_LIMIT']
PRC = sgObj.pooldetails[pool]['PRC']
tech = sgObj.pooldetails[pool]['TECH']
protection = sgObj.pooldetails[pool]['LAYOUT']
##########
usable = float(sgObj.pools[pool]['total_usable_tracks_gb'])
used = float(sgObj.pools[pool]['total_used_tracks_gb'])
percent_used = sgObj.pools[pool]['percent_full']
free = float(sgObj.pools[pool]['total_free_tracks_gb'])
subscription = sgObj.pools[pool]['subs_percent']
usable = int(round(usable,0))
used = int(round(used,0))
free = int(round(free,0))
if int(subscription) == 0:
provisioned = 0;
else:
provisioned = usable * ( float(subscription) / 100)
total_provisioned += provisioned
total_usable += usable
total_used += used
total_free += free
html = www.tr
if int(percent_used) >= alertLimits[tier]:
html = www.alerttr
alertMessage += "Thin pool " + comparepool + " is " + str(percent_used) + "% used.\n"
alertMessage += str(free) + " GB free remain in the pool\n"
alertMessage += " The threshold for " + comparepool + ' is set to ' + str(alertLimits[tier]) + '%\n\n'
alerts += 1
row = [pool,str(usable),str(used),str(percent_used),str(free),str(provisioned),subscription,subscription_limit,PRC,tech,protection]
csvpage.append(', '.join(row) + '\n')
page.append(www.tr_list(row))
total_pct_used = int((int(total_used) / float(total_usable)) * 100)
#.........这里部分代码省略.........
示例7: createReports
# 需要导入模块: from HTML import HTML [as 别名]
# 或者: from HTML.HTML import start_table [as 别名]
def createReports(mvObj,site,datacenter):
reportDate = str(time.strftime("%c"))
GB = float(mvObj.mvCapTotal)/1024
ProvisionedGB = "%.2f" % GB
info1 = 'Total Porvisioned=' + str(ProvisionedGB)
www = HTML()
f = Files()
html_index = '/www/' + site + '/views.html'
viewsCSV = '/www/' + site + '/CSV/' + site + '_views.csv'
htmlpage = []
csvpage = []
htmlpage.append(www.start_html('MV Summary'))
linkpath = "/" + site + "/CSV/" + site + '_views.csv'
mvSummLink = '<a href=' + linkpath + '>Views CSV</a>\n'
htmlpage.append(www.EMC_Header(site,datacenter,info1,mvSummLink))
csvpage.append('MV Report for ' + site + '\n\n')
# Write out a table for Masking Views
csvpage.append("View Name,SG,IG,PG,Capacity\n")
for pg in mvObj.portgroups:
htmlpage.append(www.start_table(3,'Masking Views on PG, ' + pg ))
htmlpage.append("<tr><th>View Name<th>SG<th>IG<th>PG<th>Capacity</tr>\n")
for mv in mvObj.portgroups[pg]:
viewname = mv['MV']
ig = mv['IG']
pg = mv['PG']
sg = mv['SG']
gb = float(mv['MB'])/1024
fmtgb = "%.2f" % gb
gb = str(fmtgb)
sglink = "<a href=/" + site + "/SG/" + sg + ".html>" + sg + "</a>\n"
iglink = "<a href=/" + site + "/IG/" + ig + ".html>" + ig + "</a>\n"
row = [viewname,sglink,iglink,pg,gb]
htmlpage.append(www.tr_list(row))
csrow = [viewname,sg,ig,pg,gb]
csvpage.append(', '.join(csrow) + '\n')
htmlpage.append(www.end_table)
htmlpage.append(www.end_html)
f.write_file(html_index,htmlpage)
f.write_file(viewsCSV,csvpage)
dir = "/www/" + site + "/IG/"
if not os.path.isdir(dir):
subprocess.call(["mkdir", dir])
for IG in mvObj.HostInitiatorGroups:
igPage = '/www/' + site + '/IG/' + IG + '.html'
f_ig = open(igPage,'w')
f_ig.write(www.start_html('Initiator Group ' + IG))
f_ig.write(www.EMC_Header(site,datacenter))
# Write out a table for Masking Views
f_ig.write(www.start_table(3,'Initiator Group ' + IG))
f_ig.write("<tr><th>HBA Initiators</tr>\n")
for wwpn in mvObj.HostInitiatorGroups[IG]:
f_ig.write("<tr><th>" + wwpn + "</tr>\n")
f_ig.write(www.end_table)
f_ig.write(www.end_html)
f_ig.close()
for IG in mvObj.ClusterInitiatorGroups:
igPage = '/www/' + site + '/IG/' + IG + '.html'
f_ig = open(igPage,'w')
f_ig.write(www.start_html('Cluster Initiator Group ' + IG))
f_ig.write(www.EMC_Header(site,datacenter))
# Write out a table for Masking Views
f_ig.write(www.start_table(3,'Initiator Group ' + IG))
f_ig.write("<tr><th>Cluster Nodes</tr>\n")
for wwpn in mvObj.ClusterInitiatorGroups[IG]:
link = '<a href=/' + site + '/IG/' + wwpn + '.html>' + wwpn + '</a>\n'
f_ig.write("<tr><th>" + link + "</tr>\n")
f_ig.write(www.end_table)
f_ig.write(www.end_html)
f_ig.close()
# Database section
# First, grab a list of known WWPN logins
vmaxdb=mysql.connect(host="chatst3utsan01",user="emc",passwd="emc",db="vmax")
cur = vmaxdb.cursor()
query = "SELECT wwpn,ig FROM initiatorgroups"
results = cur.execute(query)
rows = cur.fetchall()
# Now create a simple list of logins. We use this to check whether we've seen a login before.
# If we know this login, we just update the time seen and array/port.
knownwwpns = []
p = re.compile('\w+')
for row in rows:
wwpn = row[0]
ig = row[1]
key = ''.join(p.findall(wwpn + ig)).lower()
knownwwpns.append(key)
# Now get the current date and time.
today = datetime.date.today()
#.........这里部分代码省略.........
示例8: createReports
# 需要导入模块: from HTML import HTML [as 别名]
# 或者: from HTML.HTML import start_table [as 别名]
def createReports(sgObj,site,datacenter):
www = HTML()
mailObj = EMail()
dates = DateString()
page = []
csvpage = []
temppage = []
today = dates.today
yesterday = dates.yesterday
tomorrow = dates.tomorrow
pagedirs = ['download','history']
subdirs = [today,tomorrow,yesterday]
f = Files()
for dir in pagedirs:
f.dir = '/var/www/html/' + dir
f.mkdir()
for sub in subdirs:
f.dir = '/var/www/html/' + dir + '/' + sub
f.mkdir()
csvfile = '/www/download/' + today + '/' + site + '_failed_disks.csv'
csvfileperm = '/www/download/' + site + '_failed_disks.csv'
csvlink = '<a href=/download/' + today + '/' + site + '_failed_disks.csv>CSV</a>'
yesterdaylink = '<a href=/history/' + yesterday + '/' + datacenter + '_Failed_disks.html>' + yesterday + '</a>'
tomorrowlink = '<a href=/history/' + tomorrow + '/' + datacenter + '_Failed_disks.html>' + tomorrow + '</a>'
htmlfile1 = '/www/history/' + today + '/' + datacenter + '_Failed_disks.html'
tempfile = '/www/history/' + tomorrow + '/' + datacenter + '_Failed_disks.html'
htmlfile2 = '/www/' + datacenter + site + '_Failed_disks.html'
logfile = '/www/' + site + '_Failed_disks.log'
log = []
reportDate = str(time.strftime("%c"))
page.append(www.start_html('Failed Disk Report for ' + site))
page.append(www.EMC_Header(site,datacenter,'',csvlink))
page.append('<p><br><table align=center border=3>\n')
row = ['Failed Disk Report',tomorrowlink,yesterdaylink]
page.append(www.th_list(row))
page.append(www.end_table)
page.append(www.start_table(3,site))
heading = ['Disk_ID','DA_Port','Spindle_ID','Tech','Speed','Vendor','Size','Failed']
page.append(www.th_list(heading))
csvpage.append(', '.join(heading) + '\n')
alertMessage = 'Disk Error...\n\n'
alertMessage += ', '.join(heading) + '\n\n'
alerts = 0
for disk in sgObj.FailedDisks:
alerts += 1
info = sgObj.FailedDisks[disk].split()
row = [info[0],info[1],info[2],info[3],info[4],info[5],info[6],info[7]]
alertMessage += ', '.join(row) + '\n\n'
csvpage.append(', '.join(row) + '\n')
page.append(www.tr_list(row))
page.append(www.end_table)
page.append(www.end_html)
f.write_file(htmlfile2,page)
f.write_file(htmlfile1,page)
f.write_file(csvfile,csvpage)
f.write_file(csvfileperm,csvpage)
temppage.append(www.start_html())
temppage.append(www.Not_Found_Header('Report not created yet for '+tomorrow))
temppage.append(www.end_html)
f.write_file(tempfile,temppage)
if alerts > 0:
mailObj.subject = "WARNING: DISK ERROR - VMAX Failed Disk Alert " + site + ', ' + datacenter
mailObj.message = alertMessage
mailObj.send_mail()
if len(sgObj.New_Failures.keys()) > 0:
reportDate = str(time.strftime("%x - %X"))
for failed_disk in sgObj.New_Failures.keys():
log.append(reportDate + " :" + mailObj.subject + " " + failed_disk + "\n")
f.write_file(logfile,log)
示例9: createReports
# 需要导入模块: from HTML import HTML [as 别名]
# 或者: from HTML.HTML import start_table [as 别名]
def createReports(sgObj,site,datacenter):
www = HTML()
mailObj = EMail()
swObj = BRCD()
swObj.get_connection_map()
dates = DateString()
page = []
csvpage = []
temppage = []
today = dates.today
yesterday = dates.yesterday
tomorrow = dates.tomorrow
pagedirs = ['download','history']
subdirs = [today,tomorrow,yesterday]
f = Files()
for dir in pagedirs:
f.dir = '/var/www/html/' + dir
f.mkdir()
for sub in subdirs:
f.dir = '/var/www/html/' + dir + '/' + sub
f.mkdir()
csvfile = '/www/download/' + today + '/' + site + '_FA.csv'
csvlink = '<a href=/download/' + today + '/' + site + '_FA.csv>CSV</a>'
htmlfile = '/www/' + site + '/FA_Ports.html'
reportDate = str(time.strftime("%c"))
page.append(www.start_html('FA Port Report for ' + site))
page.append(www.EMC_Header(site,datacenter,'',csvlink))
page.append(www.start_table(3,site))
heading = ['FA Port','WWN','Device Count', 'Switch', 'Portname', 'Port']
page.append(www.th_list(heading))
csvpage.append('FA Port Report for ' + site + '\n\n')
csvpage.append(', '.join(heading) + '\n')
for FAPORT in sorted(sgObj.FA2WWNmap):
port = str(FAPORT)
wwn = str(sgObj.FA2WWNmap[FAPORT])
if wwn.lower() in swObj.connectionmap:
fields = swObj.connectionmap[wwn.lower()]
switchname = fields[0]
switchportname = fields[1]
switchport = fields[2]
else:
switchname = 'Not_Connected'
switchportname = 'Not_Connected'
switchport = 'Not_Connected'
if 'Total' in port:
color = '#C7C5C6'
switchname = '---'
switchportname = '---'
switchport = '---'
else:
color = '#DEF2FA'
dev_count = str(sgObj.FA_Device_Count[FAPORT])
row = [port,wwn, dev_count, switchname, switchportname, switchport]
csvpage.append(', '.join(row) + '\n')
page.append(www.tr_list(row,color))
page.append(www.end_table)
page.append(www.end_html)
f.write_file(htmlfile,page)
f.write_file(csvfile,csvpage)