#!/bin/bash

# given TN object name (YYYYabc) return info
# objTNS {-h} objectname ... (or pipe)

#-----------------------------------------------------------------------
HELP=; VERB=1; JASONFILE="objTNS.json"
#-----------------------------------------------------------------------
TF="OUT_objTNS" TFt=$TF.tmp  TFd=$TF.dat  
trap "[ -e $TFt ] && rm $TFt; [ -e $TFd ] && rm $TFd" EXIT
#-----------------------------------------------------------------------
#TNS_API_KEY=XXXX  Reminder that $TNS_API_KEY must be available to program
#-----------------------------------------------------------------------

while getopts v:h OPTVAL
do 
    case $OPTVAL in
	v) VERB=$OPTARG;;
	h) HELP=1;;
	*) echo "objTNS -h for help"; exit -1
    esac
done
shift $((OPTIND-1))

if [ $HELP ]; then
    echo -e "\ngiven TNS object name YYYYabc return info"
    echo -e "	objTNS [-v VERB] {-h} objectname ... (or pipe)"
    echo -e "	objectname: SN or AT prefix is stripped out"
    echo -e "	-v VERB, [1],2,3 increasing verbosity (NOT YET IMPLEMENTED)"
    echo -e "\$TNS_API_KEY must be available to program\n"
    exit
fi

if [ -z $TNS_API_KEY ]; then
	echo "objTNS: TNS_API_KEY not set"; exit -1
fi


#-----------------------------------------------------------------------
#input from pipe? if so, convert to positional parameters
#-----------------------------------------------------------------------

if [ $# -eq 0 ]; then 
  if [ -p /dev/stdin ]; then
    PIPE=$(cat -)
    set -- $PIPE
  else
    echo "objTNS: no inputs from pipe or command line"
    exit -1
  fi
fi

while [ $# -ge 1 ]
do
  OBJECT=$(echo $1 | sed 's/^[^0-9]*//'); shift
 
  curl -s -X POST -d "api_key=$TNS_API_KEY&data="'{"objname": "'$OBJECT'", "photometry": "1", "spectra": "1"}' https://www.wis-tns.org/api/get/object -o $TFt

check=$(jq -r '.data.reply | .radeg' $TFt)
if [ $check = "null" ]; then
	echo "nada :objTNS"
else 
  jq -r '.data.reply | .radeg,.decdeg,.name_prefix,.objname,.internal_names,.discoverymag' $TFt  | xargs | tee  $TFd
fi


#-----------------------------------------------------------------------
# create/edit json structure
#-----------------------------------------------------------------------

jq '. |del(.id_code,.id_message)' $TFt | gsed 's/^{/{\n"program":"objTNS",\n"facility":"TNS",/'   > $JASONFILE
done
