ce1245e1fa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41113 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
import re
|
|
|
|
conversion_table = {
|
|
"B" : "**",
|
|
"I" : "*",
|
|
"TT": "``",
|
|
"P" : "\n",
|
|
"BR": "\n",
|
|
}
|
|
|
|
html_classlink_re = "<A HREF=\".*?\">(.*?)</A>"
|
|
|
|
def htmlToReST(html):
|
|
# \n is useless in the HTML docs, we'll use P tags to break paragraphs.
|
|
restText = html.replace("\n", "")
|
|
restText = restText.replace("*", "\\*")
|
|
if restText.find("<P>") == 0:
|
|
restText = restText[3:]
|
|
|
|
link_regex = re.compile(html_classlink_re, re.DOTALL | re.MULTILINE | re.IGNORECASE)
|
|
restText = link_regex.sub("`\g<1>`", restText)
|
|
|
|
|
|
for htmltag in conversion_table:
|
|
|
|
for tagname in [htmltag, htmltag.lower()]:
|
|
restText = restText.replace("<%s>" % tagname, conversion_table[htmltag])
|
|
restText = restText.replace("</%s>" % tagname, conversion_table[htmltag])
|
|
|
|
# we need to escape any remaining double-quotes
|
|
restText = restText.replace('"', '\\"')
|
|
return restText.strip() |