diff make_html.py @ 0:581d217c7337 draft

Planemo upload
author lgueguen
date Fri, 22 Jul 2016 05:39:13 -0400
parents
children 05c9b1a7f44e
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make_html.py	Fri Jul 22 05:39:13 2016 -0400
@@ -0,0 +1,73 @@
+#Author: Loraine Gueguen
+
+import sys
+import os
+import time
+import argparse
+
+def getfSize(fpath,outpath):
+    """
+    format a nice file size string
+    """
+    size = ''
+    fp = os.path.join(outpath,fpath)
+    if os.path.isfile(fp):
+        size = '0 B'
+        n = float(os.path.getsize(fp))
+        if n > 2**20:
+            size = '%1.1f MB' % (n/2**20)
+        elif n > 2**10:
+            size = '%1.1f KB' % (n/2**10)
+        elif n > 0:
+            size = '%d B' % (int(n))
+    return size
+
+# Define option
+parser = argparse.ArgumentParser(description='Create an html page for downloading files from a directory') 
+parser.add_argument('--tool', help='Galaxy tool', required=True)
+parser.add_argument('--output_type', help='figures or tables', required=True)
+parser.add_argument('--output_dir', help='Output directory', required=True)
+parser.add_argument('--output_html', help='Output HTML file name', default='', required=True)
+
+#Parse the command line
+args = parser.parse_args() 
+tool=args.tool
+output_type=args.output_type
+output_dir=args.output_dir
+output_html=args.output_html
+
+
+debut_html="""<!DOCTYPE html>
+<html>
+    <head>
+        <meta charset="utf-8" />
+        <title></title>
+    </head>
+    <body>
+    <h1>Galaxy Tool %s</h1>
+""" %(tool)
+
+fin_html="</body></html>"
+
+html=debut_html
+run_date=time.strftime('%d/%m/%Y %H:%M:%S', time.localtime(time.time()))
+html+='<div>Run at %s</div><br/>\n'%run_date
+html+='<div><strong>%s</strong> available for downloading</div><br/>\n'%output_type
+
+ 
+flist = os.listdir(output_dir)
+flist.sort()
+
+
+html+='<div><table cellpadding="3" cellspacing="3"><tr><th>Output File Name (click to view)</th><th>Size</th></tr>\n'
+
+for f in flist :
+	size=getfSize(f,output_dir)
+	html+='<tr><td><a href="%s">%s</a></td><td>%s</td></tr>\n'%(f,f,size)
+html+='</table></div><br/>\n'
+
+html+=fin_html
+
+htmlf = file(output_html,'w')
+htmlf.write(html)
+htmlf.close()