""" Code to view tables
    
Context : SRP
Module  : SRPFitsTableViewer
Author  : Stefano Covino
Date    : 04/11/2014
E-mail  : stefano.covino@brera.inaf.it
URL:    : http://www.merate.mi.astro.it/utenti/covino
Purpose : View FITS tables.

Usage   : SRPFitsTableViewer [-h] -f file [-o file] [-v] [--version]
    
            -f Input FITS file
            -o Output text file
    
History : (08/03/2012) First version.
        : (04/11/2014) More general availability.

"""

__version__ = '0.1.1'


import argparse
import atpy



parser = argparse.ArgumentParser()
parser.add_argument("-f", "--fitsfile", action="store", help="Input FITS file", required=True, metavar='file')
parser.add_argument("-o", "--outfile", action="store", help="Output text file", metavar='file')
parser.add_argument("-v", "--verbose", action="store_true", help="Fully describe operations")
parser.add_argument("--version", action="version", version=__version__)
options = parser.parse_args()


#
try:
    t = atpy.Table(options.fitsfile, type='fits')
except IOError:
    parser.error("Invalid input FITS file: %s." % options.fitsfile)
if options.verbose:
    print "Reading input FITS file %s" % options.fitsfile
#
if options.verbose:
    msg = ''
    for c in t.columns.keys:
        msg = msg+c+'\t'
    print msg
    for e in t:
        mse = ''
        for l in e:
            mse = mse+str(l)+'\t'
        print mse
#
if options.outfile:
    t.write(options.outfile,type='ascii',overwrite=True)
    if options.verbose:
        print "Results saved in file %s." % (options.outfile)
    else:
        print "%s" % (options.outfile)
#
