def block_html(self, html): if self.texoid and html.startswith('<latex'): attr = html[6:html.index('>')] latex = html[html.index('>') + 1:html.rindex('<')] latex = self.parser.unescape(latex) result = self.texoid.get_result(latex) if not result: return '<pre>%s</pre>' % mistune.escape(latex, smart_amp=False) elif 'error' not in result: img = ('''<img src="%(svg)s" onerror="this.src='%(png)s';this.onerror=null"''' 'width="%(width)s" height="%(height)s"%(tail)s>') % { 'svg': result['svg'], 'png': result['png'], 'width': result['meta']['width'], 'height': result['meta']['height'], 'tail': ' /' if self.options.get('use_xhtml') else '' } style = ['max-width: 100%', 'height: %s' % result['meta']['height'], 'max-height: %s' % result['meta']['height'], 'width: %s' % result['meta']['height']] if 'inline' in attr: tag = 'span' else: tag = 'div' style += ['text-align: center'] return '<%s style="%s">%s</%s>' % (tag, ';'.join(style), img, tag) else: return '<pre>%s</pre>' % mistune.escape(result['error'], smart_amp=False) return super(AwesomeRenderer, self).block_html(html)
def scrapeGame(url): html = scraperwiki.scrape(url+"/games?xml=1") root = lxml.html.fromstring(html) sindex = html.index("gamesList")+10 eindex = html.rindex("gamesList") bodycontent = html[sindex:eindex] sindex = bodycontent.index("games")+6 eindex = bodycontent.rindex("games")-2 rows = bodycontent[sindex:eindex] start = rows.index("<game>") end = rows.index("</game>") glist = rows.split("<game>") gamestats = [] for g in glist: start = g.find("<name>") end = g.find("</name>") start2 = g.find("<hoursOnRecord>") end2 = g.find("</hoursOnRecord>") if start!=-1 and end!=-1: name = g[start+6:end] game = name[9:len(name)-3] hours = 0.0 if start2==-1 or end2==-1: hours = 0.0 else: hours = float(g[start2+15:end2]) stat = {"game":game,"hours":hours} gamestats.append(stat) return gamestats
def strip_outer_tag(html): match = locatestarttagend.match(html) start_tag_end = match.end() end_tag_start = html.rindex(u'<') return html[:start_tag_end + 1], html[start_tag_end + 1:end_tag_start], html[end_tag_start:]