Home | History | Annotate | Download | only in tests
      1 from __future__ import absolute_import, division, unicode_literals
      2 
      3 import sys
      4 import os
      5 
      6 if __name__ == '__main__':
      7     # Allow us to import from the src directory
      8     os.chdir(os.path.split(os.path.abspath(__file__))[0])
      9     sys.path.insert(0, os.path.abspath(os.path.join(os.pardir, "src")))
     10 
     11 from html5lib.tokenizer import HTMLTokenizer
     12 
     13 
     14 class HTMLParser(object):
     15     """ Fake parser to test tokenizer output """
     16     def parse(self, stream, output=True):
     17         tokenizer = HTMLTokenizer(stream)
     18         for token in tokenizer:
     19             if output:
     20                 print(token)
     21 
     22 if __name__ == "__main__":
     23     x = HTMLParser()
     24     if len(sys.argv) > 1:
     25         if len(sys.argv) > 2:
     26             import hotshot
     27             import hotshot.stats
     28             prof = hotshot.Profile('stats.prof')
     29             prof.runcall(x.parse, sys.argv[1], False)
     30             prof.close()
     31             stats = hotshot.stats.load('stats.prof')
     32             stats.strip_dirs()
     33             stats.sort_stats('time')
     34             stats.print_stats()
     35         else:
     36             x.parse(sys.argv[1])
     37     else:
     38         print("""Usage: python mockParser.py filename [stats]
     39         If stats is specified the hotshots profiler will run and output the
     40         stats instead.
     41         """)
     42