| from __future__ import absolute_import, division, unicode_literals |
| |
| import sys |
| import os |
| |
| if __name__ == '__main__': |
| # Allow us to import from the src directory |
| os.chdir(os.path.split(os.path.abspath(__file__))[0]) |
| sys.path.insert(0, os.path.abspath(os.path.join(os.pardir, "src"))) |
| |
| from html5lib.tokenizer import HTMLTokenizer |
| |
| |
| class HTMLParser(object): |
| """ Fake parser to test tokenizer output """ |
| def parse(self, stream, output=True): |
| tokenizer = HTMLTokenizer(stream) |
| for token in tokenizer: |
| if output: |
| print(token) |
| |
| if __name__ == "__main__": |
| x = HTMLParser() |
| if len(sys.argv) > 1: |
| if len(sys.argv) > 2: |
| import hotshot |
| import hotshot.stats |
| prof = hotshot.Profile('stats.prof') |
| prof.runcall(x.parse, sys.argv[1], False) |
| prof.close() |
| stats = hotshot.stats.load('stats.prof') |
| stats.strip_dirs() |
| stats.sort_stats('time') |
| stats.print_stats() |
| else: |
| x.parse(sys.argv[1]) |
| else: |
| print("""Usage: python mockParser.py filename [stats] |
| If stats is specified the hotshots profiler will run and output the |
| stats instead. |
| """) |