a ÖâÏhã@sRgd¢ZddlZddlZddlmZGdd„deƒZdd„Zdd „Zd d d „ZdS))Ú escape_htmlÚ unescape_htmlÚ html_to_textéN)Ú HTMLParserc@seZdZdd„Zdd„ZdS)Ú HTMLFiltercCst |¡d|_dS)NÚ)rÚ__init__Útext)Úself©r úú>ú'ú'ú"ú"©Úreplace©Úsr r r r+s     rcCsX|dur dSd|vr|S| dd¡}| dd¡}| dd¡}| dd ¡}| d d¡}|S) Nrrrrrrrrrrrrr r r r6s     réPc Cs`z"tƒ}| |¡tj|j|dWStyZ}z t tjd|¡WYd}~dSd}~00dS)N)Úwidthzcannot convert html to text: %s)rZfeedÚtextwrapÚfillr Ú ExceptionÚsyslogZLOG_ERR)ZhtmlZmaxcolZhfilterÚer r r rCs r)r ) Ú__all__r%r"Z html.parserrrrrrr r r r Ús