1
# Copyright (c) 2001-2004 Twisted Matrix Laboratories.
2
# See LICENSE for details.
6
"""HTML pretty-printing for Python source code."""
8
__version__ = '$Revision: 1.8 $'[11:-2]
10
from twisted.python import htmlizer, usage
11
from twisted import copyright
15
header = '''<html><head>
16
<title>%(title)s</title>
17
<meta name=\"Generator\" content="%(generator)s" />
23
footer = """</body>"""
25
styleLink = '<link rel="stylesheet" href="%s" type="text/css" />'
26
alternateLink = '<link rel="alternate" href="%(source)s" type="text/x-python" />'
28
class Options(usage.Options):
29
synopsis = """%s [options] source.py
31
os.path.basename(sys.argv[0]),)
34
('stylesheet', 's', None, "URL of stylesheet to link to."),
36
zsh_extras = ["1:source python file:_files -g '*.py'"]
38
def parseArgs(self, filename):
39
self['filename'] = filename
44
options.parseOptions()
45
except usage.UsageError, e:
48
filename = options['filename']
49
if options.get('stylesheet') is not None:
50
stylesheet = styleLink % (options['stylesheet'],)
54
output = open(filename + '.html', 'w')
56
output.write(header % {
58
'generator': 'htmlizer/%s' % (copyright.longversion,),
59
'alternate': alternateLink % {'source': filename},
60
'stylesheet': stylesheet
62
htmlizer.filter(open(filename), output,
63
htmlizer.SmallerHTMLWriter)