Html.py

#!phthon
#-*- coding:GBK -*-
# filename:Html.py

__PageTemplate__ = """<html><meta http-equiv="Content-Type" content="text/html; charset=GBK">
<head><title> $title </title></head>
<style>
    .titleStyle {
      font-size: 10pt;
      font-family: Arial, Helvetica, sans-serif, Geneva
      }
    .sheetStyle, .accountsub, .usersum, .confdetail {
      font-size: 8pt;
      font-family: 新宋体, Arial, Helvetica, sans-serif, Geneva
      }
    .grayStyle {
      font-size: 8pt;
      font-family: 新宋体, Arial, Helvetica, sans-serif, Geneva;
      background-color: #D8D8D8
      }
    .bluesStyle, .userdetail {
      font-size: 8pt;
      font-family: 新宋体, Arial, Helvetica, sans-serif, Geneva;
      color: #FFFFF0; background-color: #4040FF
      }
</style>
<body>
$content
</body></html>""" def _attr(attr = {}): return (attr) and '' or / ''.join([' %s="%s"' % (k,v) for k,v in attr.items()]) def _th(content, attr={}): return "<TH%s>%s</TH>" % (_attr(attr),content) def _td(content, attr={}): return "<TD%s>%s</TD>" % (_attr(attr),content) def _td_c(content, attr={}): attr['align']='center' return _td(content, attr) def _td_l(content, attr={}): attr['align']='left' return _td(content, attr) def _td_r(content, attr={}): attr['align']='right' return _td(content, attr) def _td_money(mny, attr={}): attr['align']='right' return _td("%.2f" % mny, attr) def _tr(cells=[], attr={}): return "<TR%s>%s</TR>" % (_attr(attr), ''.join(cells)) def _tb(rows=[]): return "<TBODY>%s</TBODY>" % '/n'.join(rows) def _table(tableInfos={}): attrib = ('attrib' in tableInfos and tableInfos['attrib'] > '') / and tableInfos['attrib'] or '' caption = ('caption' in tableInfos and tableInfos['caption'] > '') / and "<CAPTION>%s</CAPTION>" % (tableInfos['caption']) or '' rows = ('rows' in tableInfos and tableInfos['rows'] > '') / and tableInfos['rows'] or '' return "<TABLE%s>%s%s</TABLE>" % (attrib, caption, rows) class Table: def __init__(self): self.attrib = {} self.caption = '' self.headColumns = [] self.columnAttrs = [] self.columns = [] self.data = [] def setColumns(self,columns): self.columns = columns def setColumnsHeader(self,columnsHeader): for i in range(len(columnsHeader)): self.columns['Header'] = columnsHeader def setColumnsAttrib(self,columnsAttrib): for i in range(len(columnsAttrib)): self.columns['Attrib'] = columnsAttrib def setColumnsDtDict(self,columnsDtDict): for i in range(len(columnsDtDict)): self.columns['DtDict'] = columnsDtDict def toString(self): caption = (self.caption == '') / and '' / or ("<CAPTION>%s</CAPTION>" % self.caption) headers = (len(self.columns) == 0) / and '' / or ("<THEAD>%s</THEAD>" % _tr( ''.join([_th(column['Header']) for column in self.columns]))) trs = [] for row in self.data: trrs = [] m = map(None, row, self.columns) for item in m: if (item[1]): if ('DtDict' in item[1] and item[0] in item[1]['DtDict']): cell = item[1]['DtDict'][item[0]] else: cell = item[0] attr = ('Attrib' in item[1]) and item[1]['Attrib'] or {} trrs.append(_td(cell, attr)) trs.append(_tr(trrs)) tbody = _tb(trs) return "<TABLE%s>%s/n%s/n%s</TABLE>" % ( _attr(self.attrib), caption, headers, tbody)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值