from Cython import Utils
# need one-characters subsitutions (for now) so offsets aren't off
-special_chars = [(u'<', u'\xF0', u'<'),
- (u'>', u'\xF1', u'>'),
- (u'&', u'\xF2', u'&')]
+special_chars = [
+ (u'&', u'\xF2', u'&'),
+ (u'<', u'\xF0', u'<'),
+ (u'>', u'\xF1', u'>'),
+]
line_pos_comment = re.compile(r'/\*.*?<<<<<<<<<<<<<<.*?\*/\n*', re.DOTALL)
self.mark_pos(None)
f = Utils.open_source_file(source_filename)
lines = f.readlines()
- for k in range(len(lines)):
- line = lines[k]
+ for k, line in enumerate(lines):
for c, cc, html in special_chars:
line = line.replace(c, cc)
lines[k] = line
html_filename = os.path.splitext(target_filename)[0] + ".html"
f = codecs.open(html_filename, "w", encoding="UTF-8")
+ f.write(u'<!DOCTYPE html>\n')
f.write(u'<!-- Generated by Cython %s -->\n' % Version.watermark)
f.write(u'<html>\n')
f.write(u"""
code = code_source_file[k]
except KeyError:
code = ''
-
- code = code.replace('<', '<code><</code>')
+ else:
+ for c, cc, html in special_chars:
+ code = code.replace(c, html)
code, py_c_api_calls = py_c_api.subn(ur"<span class='py_c_api'>\1</span>(", code)
code, pyx_c_api_calls = pyx_c_api.subn(ur"<span class='pyx_c_api'>\1</span>(", code)