Logical Issue In Generating Html Code
I am trying generate HTML code using the code below(pastie link),expected output is shown below ,am getting an output where the CR value is getting added twice and also the http li
Solution 1:
Here's that input I promised.
defCRlistToTable(CRlist):
""" Create HTML table from CRlist data """
CRstrings = ['<table cellspacing="1" cellpadding="1" border="1">']
# create table's header row from the first row of CRlist
BGCOLOR = '#67B0F9'# column header cells background color
cols = CRlist[0] # column names given in first row
CRstrings += [' <tr>', '\n'.join(
' <th bgcolor="{}" scope="col">{}</th>'.format(BGCOLOR, col_name)
for col_name in cols),
' </tr>']
# create a template for remaining non-header table rows
TR_TEMPLATE = [' <tr>',
' <td>',
' {}', # for dynamically generated CR links' </td>', '\n'.join(
[' <td>{}</td>'] * (len(cols)-1)), # one per remaining cols' </tr>']
TR_TEMPLATE = '\n'.join(TR_TEMPLATE) # convert to a string# apply the row template created to remaining CRlist rows
CR_LINK_TEMPLATE = '<a href=http://data/{0}>{0}</a>'for row in CRlist[1:]:
if','notin row[0]: # no comma-delimited items in first column?
links = CR_LINK_TEMPLATE.format(row[0])
else:
CRs = row[0].replace(',', ' ').split()
links = ',\n '.join(CR_LINK_TEMPLATE.format(cr) for cr in CRs)
row[0] = links
CRstrings += [TR_TEMPLATE.format(*row)]
CRstrings += ["</table>"]
# return string list merged to a single long newline-delimited stringreturn'\n'.join(CRstrings) + '\n'withopen('cr_fixes_tabbed.xml') as file:
xmldata = file.read() # read entire file into memory
FIXES_START_TAG, FIXES_END_TAG = '<Fixes>, </Fixes>'.replace(',', ' ').split()
# embedded fixes info starts right after the tag itself within the xml data
xmlFixesStart = xmldata.find(FIXES_START_TAG) + len(FIXES_START_TAG)
xmlFixesEnd = xmldata.find(FIXES_END_TAG)
# extract portion of file data within the FIXES tags into a list of lines
info = xmldata[xmlFixesStart:xmlFixesEnd].strip().splitlines()
# split non-blank lines of tab-delimited data into list of rows of column data
CRlist = [line.split('\t') for line in info if line] # skips blank lines
crInfo = CRlistToTable(CRlist) # convert list into html tableprint crInfo
Output:
<tablecellspacing="1"cellpadding="1"border="1"><tr><thbgcolor="#67B0F9"scope="col">CR</th><thbgcolor="#67B0F9"scope="col">FA</th><thbgcolor="#67B0F9"scope="col">CL</th><thbgcolor="#67B0F9"scope="col">Title</th></tr><tr><td><ahref=http://data/409452>409452</a></td><td>WLAN</td><td>656885</td><td>Age out RSSI values from buffer</td></tr><tr><td><ahref=http://data/409452>409452</a>,
<ahref=http://data/12345>12345</a></td><td></td><td></td><td>To Record HAL and SLM FW Event Logging</td></tr></table>
Browser view:
Post a Comment for "Logical Issue In Generating Html Code"