annotate dir2html.py @ 0:a700427c00ae

create
author Daniel Blankenberg <dan@bx.psu.edu>
date Tue, 29 Apr 2014 13:38:41 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
1 #!/usr/bin/env python
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
2 import os
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
3 import sys
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
4 from xml.sax.saxutils import escape
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
5
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
6 def make_table( directory ):
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
7 ret = ['<table class="fileList">\n']
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
8 for file in os.listdir( directory ):
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
9 ret.append('<tr><td class="file"><a href="%s">%s</a></td></tr>\n' % ( file, escape(file).replace( 'MACS2_', '' ) ))
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
10 ret.append('</table>')
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
11 return ''.join(ret)
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
12
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
13 def make_html( directory, stderr ):
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
14 return '\n'.join(['<html>'
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
15 '<head>',
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
16 ' <title>Additional output created by MACS2</title>',
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
17 ' <style type="text/css">',
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
18 ' table.fileList { text-align: left; }',
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
19 ' td.directory { font-weight: bold; }',
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
20 ' td.file { padding-left: 4em; }',
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
21 ' </style>',
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
22 '</head>',
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
23 '<body>',
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
24 '<h1>Additional Files:</h1>',
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
25 make_table( directory ),
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
26 '<h3>Messages from MACS2:</h3>',
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
27 stderr.read().replace('\n', '<br>'),
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
28 '</body>',
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
29 '</html>'])
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
30
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
31 if __name__ == '__main__':
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
32 if len(sys.argv) == 3:
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
33 directory_path = sys.argv[1]
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
34 stderr = open( sys.argv[2] )
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
35 print make_html( directory_path, stderr )
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
36 else:
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
37 sys.exit( 'Two parameter expected: directory path and stderr path' )
Daniel Blankenberg <dan@bx.psu.edu>
parents:
diff changeset
38