def _str2html(src, strip=False, indent_subsequent=0, highlight_inner=False): if strip: src = src.strip() orig_src = src try: src = PySourceColor.str2html(src, form='snip') src = error_re.sub('', src) src = pre_re.sub('', src) src = re.sub(r'^[\n\r]{0,1}', '', src) src = re.sub(r'[\n\r]{0,1}$', '', src) except: src = html_quote(orig_src) lines = src.splitlines() if len(lines) == 1: return lines[0] indent = ' '*indent_subsequent for i in range(1, len(lines)): lines[i] = indent+lines[i] if highlight_inner and i == len(lines)/2: lines[i] = '<span class="source-highlight">%s</span>' % lines[i] src = '<br>\n'.join(lines) src = whitespace_re.sub( lambda m: ' '*(len(m.group(0))-1) + ' ', src) return src
def show_file(path, version, description=None, data=None): ext = os.path.splitext(path)[1] if data is None: f = open(path, 'rb') data = f.read() f.close() if ext == '.py': html = ('<div class="source-code">%s</div>' % PySourceColor.str2html(data, PySourceColor.dark)) else: html = '<pre class="source-code">%s</pre>' % cgi.escape(data, 1) html = '<span class="source-filename">%s</span><br>%s' % (description or path, html) write_data(resource_filename('%s.%s.gen.html' % (path, version)), html)
def show_file(path, version, description=None, data=None): ext = os.path.splitext(path)[1] if data is None: f = open(path, 'rb') data = f.read() f.close() if ext == '.py': html = ('<div class="source-code">%s</div>' % PySourceColor.str2html(data, PySourceColor.dark)) else: html = '<pre class="source-code">%s</pre>' % cgi.escape(data, 1) html = '<span class="source-filename">%s</span><br>%s' % ( description or path, html) write_data(resource_filename('%s.%s.gen.html' % (path, version)), html)
def _str2html(src, strip=False, indent_subsequent=0, highlight_inner=False): if strip: src = src.strip() orig_src = src try: src = PySourceColor.str2html(src, form='snip') src = error_re.sub('', src) src = pre_re.sub('', src) src = re.sub(r'^[\n\r]{0,1}', '', src) src = re.sub(r'[\n\r]{0,1}$', '', src) except: src = html_quote(orig_src) lines = src.splitlines() if len(lines) == 1: return lines[0] indent = ' ' * indent_subsequent for i in range(1, len(lines)): lines[i] = indent + lines[i] if highlight_inner and i == len(lines) / 2: lines[i] = '<span class="source-highlight">%s</span>' % lines[i] src = '<br>\n'.join(lines) src = whitespace_re.sub(lambda m: ' ' * (len(m.group(0)) - 1) + ' ', src) return src