#!/usr/bin/python
import sys, os, socket, re
import glob, math, shutil
from glue import cbcwebpage
from glue import lal
from glue import segments
from optparse import OptionParser

from pylal import git_version
__author__ = "Chad Hanna <channa@ligo.caltech.edu>, Satya Mohapatra <satyanarayan.raypitambarmohapatra@ligo.org>"
__version__ = "git id %s" % git_version.id
__date__ = git_version.date

def parse_command_line():
	parser = OptionParser(version = git_version.verbose_msg, usage = "%prog [options] [file ...]", description = "%prog summary web page")
	parser.add_option("--title", help = "Set the the title of the page default: IMR",  default="IMR")
	opts, filenames = parser.parse_args()
	return opts, filenames

opts, files = parse_command_line()
base_name = ""

page = cbcwebpage.cbcpage(title=opts.title)
page.add_subpage("injections", "Injections", "Injections")

page.subpages["injections"].add_section("injected", "injected parameters")
imgtab = cbcwebpage.image_glob(base_name+"*1*2.png")
page.subpages["injections"].sections["injected"].add_table(imgtab,"injected spin and mass","injected spin and mass")

page.subpages["injections"].add_section("injected_hist", "injected parameters histograms")
imgtab = cbcwebpage.image_glob(base_name+"*_hist.png")
page.subpages["injections"].sections["injected_hist"].add_table(imgtab,"injected spin and mass histograms","injected spin and mass histograms")

page.subpages["injections"].add_section("mass", "total mass missed found")
imgtab = cbcwebpage.image_glob(base_name+"*_mass.png")
page.subpages["injections"].sections["mass"].add_table(imgtab,"total mass missed found", "total mass missed found")

page.subpages["injections"].add_section("mass_efficiency", "total mass with distance efficiency")
imgtab = cbcwebpage.image_glob(base_name+"*_mass_Efficiency.png")
page.subpages["injections"].sections["mass_efficiency"].add_table(imgtab,"total mass with distance efficiency", "total mass with distance efficiency")

page.subpages["injections"].add_section("chirpmass", "chirp mass missed found")
imgtab = cbcwebpage.image_glob(base_name+"*_chirpmass.png")
page.subpages["injections"].sections["chirpmass"].add_table(imgtab,"chirp mass missed found", "chirp mass missed found")

page.subpages["injections"].add_section("chirpmass_efficiency", "chirp mass with distance efficiency")
imgtab = cbcwebpage.image_glob(base_name+"*_chirpmass_Efficiency.png")
page.subpages["injections"].sections["chirpmass_efficiency"].add_table(imgtab,"chirp mass with distance efficiency", "chirp mass with distance efficiency")



page.subpages["injections"].add_section("spin", "final spin missed found")
imgtab = cbcwebpage.image_glob(base_name+"*finalspin.png")
page.subpages["injections"].sections["spin"].add_table(imgtab,"final spin missed found", "final spin missed found")


page.subpages["injections"].add_section("spin_efficiency", "final spin with distance efficiency")
imgtab = cbcwebpage.image_glob(base_name+"*_finalspin_Efficiency.png")
page.subpages["injections"].sections["spin_efficiency"].add_table(imgtab,"final spin with distance efficiency", "final spin with distance efficiency")



page.subpages["injections"].add_section("spinweight", "mass weighted spin missed found")
imgtab = cbcwebpage.image_glob(base_name+"*_massweightedspin.png")
page.subpages["injections"].sections["spinweight"].add_table(imgtab,"mass weighted final spin missed found", "mass weighted final spin missed found")

page.subpages["injections"].add_section("spinweight_efficiency", "mass weighted spin with distance efficiency")
imgtab = cbcwebpage.image_glob(base_name+"*_chi_Efficiency.png")
page.subpages["injections"].sections["spinweight_efficiency"].add_table(imgtab,"mass weighted spin with distance efficiency", "mass weighted spin with distance efficiency")



page.add_subpage("distance", "distance", "Sensitive Distance")

#FIXME sort out base names
#imgtab = cbcwebpage.image_glob("*-H1H2L1_distance.png")
imgtab = cbcwebpage.image_glob("*range*.png")

page.subpages["distance"].add_section("distance",'"Sensemon" distance above a FAR')
page.subpages["distance"].sections["distance"].add_table(imgtab,"detection distance above a far", "detection distance above a far")

range_summs = glob.glob('*_range_summary.txt')
for rs in range_summs:
	tag = rs.replace('_',' ').replace('.txt','')
	page.subpages["distance"].add_section(tag,rs)
	tab,name = cbcwebpage.wiki_table_parse(rs)
	page.subpages["distance"].sections[tag].add_table(tab[0], "Range Summary", "Range summary")


page.add_subpage("Efficiency", "Efficiency Curve", "Efficiency Curve")
imgtab = cbcwebpage.image_glob("*_sigmoid.png")
page.subpages["Efficiency"].add_section("distance",'Efficiency curve for the injection set')
page.subpages["Efficiency"].sections["distance"].add_table(imgtab,"Efficiency curve for the injection set", "Efficiency curve for the injection set")


eff_curve = glob.glob(opts.title+'_'+'Efficiency.txt')
for rs in eff_curve:
	tag = rs.replace('_',' ').replace('.txt','')
	page.subpages["Efficiency"].add_section(tag,rs)
	tab,name = cbcwebpage.wiki_table_parse(rs)
	page.subpages["Efficiency"].sections[tag].add_table(tab[0], "Efficiency", "Efficiency")


page.add_subpage("background", "background", "Background Plots")
imgtab = cbcwebpage.image_glob("*CLOSED_IFAR*.png")
page.subpages["background"].add_section("CLOSED_IFAR",'Close Box IFAR')
page.subpages["background"].sections["CLOSED_IFAR"].add_table(imgtab," ")

imgtab = cbcwebpage.image_glob("*OPEN_IFAR*.png")
page.subpages["background"].add_section("OPEN_IFAR",'Open Box IFAR')
page.subpages["background"].sections["OPEN_IFAR"].add_table(imgtab," ")


imgtab = cbcwebpage.image_glob("*CLOSED_POP_STATEMENT*.png")
page.subpages["background"].add_section("Closed_Box_Population",'Close Box Population Statement')
page.subpages["background"].sections["Closed_Box_Population"].add_table(imgtab," ")

imgtab = cbcwebpage.image_glob("*OPEN_POP_STATEMENT*.png")
page.subpages["background"].add_section("Open_Box_Population",'Open Box Population Statement')
page.subpages["background"].sections["Open_Box_Population"].add_table(imgtab," ")


page.write(base_name+"index")


