Changeset 391 for python/trunk/Demo/xml/rss2html.py
- Timestamp:
- Mar 19, 2014, 11:31:01 PM (11 years ago)
- Location:
- python/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
python/trunk
-
Property svn:mergeinfo
set to
/python/vendor/Python-2.7.6 merged eligible /python/vendor/current merged eligible
-
Property svn:mergeinfo
set to
-
python/trunk/Demo/xml/rss2html.py
r2 r391 1 """ 2 A demo that reads in an RSS XML document and emits an HTML file containing 3 a list of the individual items in the feed. 4 """ 5 1 6 import sys 7 import codecs 2 8 3 9 from xml.sax import make_parser, handler … … 5 11 # --- Templates 6 12 7 top = \ 8 """ 13 top = """\ 9 14 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 10 <HTML> 11 <HEAD> 12 <TITLE>%s</TITLE> 13 </HEAD> 15 <html> 16 <head> 17 <title>%s</title> 18 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 19 </head> 14 20 15 < BODY>16 < H1>%s</H1>21 <body> 22 <h1>%s</h1> 17 23 """ 18 24 19 bottom = \ 20 """ 25 bottom = """ 21 26 </ul> 22 27 23 < HR>24 < ADDRESS>25 Converted to HTML by sax_rss2html.py.26 </ ADDRESS>28 <hr> 29 <address> 30 Converted to HTML by rss2html.py. 31 </address> 27 32 28 </ BODY>29 </ HTML>33 </body> 34 </html> 30 35 """ 31 36 … … 34 39 class RSSHandler(handler.ContentHandler): 35 40 36 def __init__(self, out =sys.stdout):41 def __init__(self, out=sys.stdout): 37 42 handler.ContentHandler.__init__(self) 38 self._out = out43 self._out = codecs.getwriter('utf-8')(out) 39 44 40 45 self._text = "" 41 46 self._parent = None 42 self._list_started = 047 self._list_started = False 43 48 self._title = None 44 49 self._link = None … … 70 75 if not self._list_started: 71 76 self._out.write("<ul>\n") 72 self._list_started = 177 self._list_started = True 73 78 74 79 self._out.write(' <li><a href="%s">%s</a> %s\n' % … … 87 92 # --- Main program 88 93 89 parser = make_parser() 90 parser.setContentHandler(RSSHandler()) 91 parser.parse(sys.argv[1]) 94 if __name__ == '__main__': 95 parser = make_parser() 96 parser.setContentHandler(RSSHandler()) 97 parser.parse(sys.argv[1])
Note:
See TracChangeset
for help on using the changeset viewer.