OLD | NEW |
| (Empty) |
1 # Copyright (c) 2001-2004 Twisted Matrix Laboratories. | |
2 # See LICENSE for details. | |
3 | |
4 # | |
5 | |
6 """HTML pretty-printing for Python source code.""" | |
7 | |
8 __version__ = '$Revision: 1.8 $'[11:-2] | |
9 | |
10 from twisted.python import htmlizer, usage | |
11 from twisted import copyright | |
12 | |
13 import os, sys | |
14 | |
15 header = '''<html><head> | |
16 <title>%(title)s</title> | |
17 <meta name=\"Generator\" content="%(generator)s" /> | |
18 %(alternate)s | |
19 %(stylesheet)s | |
20 </head> | |
21 <body> | |
22 ''' | |
23 footer = """</body>""" | |
24 | |
25 styleLink = '<link rel="stylesheet" href="%s" type="text/css" />' | |
26 alternateLink = '<link rel="alternate" href="%(source)s" type="text/x-python" />
' | |
27 | |
28 class Options(usage.Options): | |
29 synopsis = """%s [options] source.py | |
30 """ % ( | |
31 os.path.basename(sys.argv[0]),) | |
32 | |
33 optParameters = [ | |
34 ('stylesheet', 's', None, "URL of stylesheet to link to."), | |
35 ] | |
36 zsh_extras = ["1:source python file:_files -g '*.py'"] | |
37 | |
38 def parseArgs(self, filename): | |
39 self['filename'] = filename | |
40 | |
41 def run(): | |
42 options = Options() | |
43 try: | |
44 options.parseOptions() | |
45 except usage.UsageError, e: | |
46 print str(e) | |
47 sys.exit(1) | |
48 filename = options['filename'] | |
49 if options.get('stylesheet') is not None: | |
50 stylesheet = styleLink % (options['stylesheet'],) | |
51 else: | |
52 stylesheet = '' | |
53 | |
54 output = open(filename + '.html', 'w') | |
55 try: | |
56 output.write(header % { | |
57 'title': filename, | |
58 'generator': 'htmlizer/%s' % (copyright.longversion,), | |
59 'alternate': alternateLink % {'source': filename}, | |
60 'stylesheet': stylesheet | |
61 }) | |
62 htmlizer.filter(open(filename), output, | |
63 htmlizer.SmallerHTMLWriter) | |
64 output.write(footer) | |
65 finally: | |
66 output.close() | |
OLD | NEW |