Guest User

gathering zen

a guest
Sep 15th, 2014
346
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.03 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. import HTMLParser
  4. import urllib2
  5.  
  6. class ZenParser(HTMLParser.HTMLParser):
  7.     def __init__(self, *args, **kwargs):
  8.         HTMLParser.HTMLParser.__init__(self, *args, **kwargs)
  9.         self.state = 'START'
  10.     def handle_data(self, data):
  11.         if self.state == 'CHECKING HEADER':
  12.             if data.strip() == 'The Zen of Python':
  13.                 self.state = 'AWAITING ZEN'
  14.             else:
  15.                 self.state = 'START'
  16.         elif self.state == 'GATHERING ZEN':
  17.             self.zen = data
  18.             self.state = 'GOT ZEN'
  19.     def handle_starttag(self, tag, attrs):
  20.         if self.state == 'START' and tag == 'h3':
  21.             self.state = 'CHECKING HEADER'
  22.         elif self.state == 'AWAITING ZEN' and tag == 'pre':
  23.             self.state = 'GATHERING ZEN'
  24.  
  25. def zen():
  26.     r = urllib2.urlopen('http://legacy.python.org/dev/peps/pep-0020/')
  27.     parser = ZenParser()
  28.     parser.feed(r.read())
  29.     return '\n'.join(line.lstrip() for line in parser.zen.splitlines())
  30.  
  31. print zen()
Advertisement
Add Comment
Please, Sign In to add comment