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() |