#! /usr/bin/env python3
# -*- coding: iso-8859-15 -*-
"""
Created on Sun May 24 22:56:25 2015

@author: kervella
"""

# ATTENTION: necessary to install the reportlab and pdfrw libraries
# e.g. "sudo port install py27-pdfrw"

#==============================================================================
# ASTROMETRIC REPORT ON ASTROREDUCED FILES ONLY (for now)
#==============================================================================

import os
import sys
import traceback
try:
   import pyfits
except:
   from astropy.io import fits as pyfits
import gravi_astrometry
from glob import glob
from optparse import OptionParser

# Add options
usage = """
        usage:  %prog files.fits *files.fits

        The files shall be ASTROREDUCED type.
"""
parser = OptionParser(usage)
parser.add_option("-o","--overwrite", action="store_true", dest="overwrite_flag", default=False,
                  help="Overwrite existing PDFs")

(argoptions, args) = parser.parse_args()

filelist=[]
## If the user specifies a file name or wild cards ("*_0001.fits")
if len(sys.argv) > 1 :
    longnames = [f for files in sys.argv[1:] for f in glob(files)]
    filelist = [os.path.splitext(f)[0] for f in longnames]
## Processing of the full current directory
else :
    for file in os.listdir("."):
        if file.endswith(".fits"):
            filelist.append(os.path.splitext(file)[0])

filelist.sort() # process the files in alphabetical order

# Keys to keep only the ASTROREDUCED files
fits_keys = {'HIERARCH ESO PRO CATG': ['ASTROREDUCED'],\
             'HIERARCH ESO FT POLA MODE': ['COMBINED','SPLIT']}
    
if len(filelist)>0:
    filename = filelist[-1]
    dualseries = gravi_astrometry.Astroreduced (filelist,fits_keys)
    gravi_astrometry.produce_astrometry_report (dualseries,filename)
        

