#!/usr/bin/python
import sys
import urllib


URL = "http://www.cadc-ccda.hia-iha.nrc-cnrc.gc.ca/tap/sync"
params={'REQUEST': 'doQuery',
        'LANG':    'ADQL',
        'FORMAT':  'csv'}
        
cutoutParams={'URI': '',
              'CUTOUT' : ''}

#baseQuery = """SELECT '%s' as Target,o.collectionID,energy_bandpassName,time_exposure,p.accessURL,'&cutout=circle(ICRS,%f,%f,%f)' as cutout,instrument_name 
dataURL = "http://www.cadc.hia.nrc.gc.ca/caom2ops/cutout"

baseQuery = """SELECT '%s' as Target,
                   o.collection,p.energy_bandpassName,p.time_exposure,
                   a.uri as accessURL,
                   o.instrument_name, a.productType, p.dataProductType
          FROM caom2.Observation AS o 
              JOIN caom2.Plane AS p ON o.obsID=p.obsID 
              JOIN caom2.Artifact a ON p.planeID=a.planeID
          WHERE CONTAINS(POINT('ICRS',%f,%f),position_bounds)=1 
	     AND p.calibrationLevel >= 3
             AND ((a.productType not in ('auxiliary','preview')) OR (a.productType IS NULL))
	     AND o.instrument_name in ('WFPC2','ACS','WFC3','MegaPrime','WIRCam')"""

cutoutRegion = "circle ICRS %f %f %f"

positions=file(sys.argv[1]).readlines()
cutout=float(sys.argv[2])/3600.0/2.0
for position in positions:
    v = position.split()
    name=v[0]
    ra=float(v[1])
    dec=float(v[2])
    query = baseQuery % ( name, ra, dec ) 
#    print query
    params['QUERY']=query
    result=urllib.urlopen(URL,urllib.urlencode(params))
    title = result.readline()
    n=1
    for res_cur in result:
        output_params=res_cur.split(',')
        cutoutParams['URI'] = output_params[4]
        cutoutParams['CUTOUT'] = cutoutRegion % (ra, dec, cutout)
        cutoutURL = dataURL+"?"+urllib.urlencode(cutoutParams)
#        print res_cur
        print output_params[0]+"_"+("%d" % (n))+"_"+output_params[2]+".fits"+" \""+cutoutURL+"\""
        n=n+1

