#!/bin/sh
#
#  PKGGET -- Download the specified URL to the current directory.  We use 
#  a command specific to the system we're on.  We assume the URL has been 
#  properly escaped in the argument list.
#
#  Usage:     pkgget [-h] [-n] [-v] url
#
#  Where	-n	no-op flag
#		-v 	verbose output
#		-h 	this message
#
#  Example:
#	% pkgget -q ftp://iraf.noao.edu/iraf/extern/foo-linux.tar.gz
#
# ----------------------------------------------------------------------------


export 	PATH=../util:$PATH

# Initialize the $iraf and environment.
if [ -z "$iraf" ]; then
  if [ -e "$HOME/.iraf/setup.sh" ]; then
    . "$HOME/.iraf/setup.sh"
  else
    . ../unix/hlib/setup.sh
  fi
else
    . "$iraf/unix/hlib/setup.sh"
fi


# Utility aliases.
. "${iraf}/unix/hlib/util.sh"

dlcmd="curl -O"

#=============================================================================
# Declarations and initializations.
#=============================================================================

exec=yes
verb=no
url=""


# Process cmdline flags.
while [ -n "$1" ]; do
    case "$1" in
    "-n")                            # no execute
        exec=no
	;;
    "-v")                            # be chatty
        verb=yes
	;;
    "-h")                            # print help summary
    	echo "Usage: pkgget [-h] [-n] [-q | -v] url"
    	echo ""
    	echo "    where -n          # no execute"
    	echo "          -q          # suppress output"
    	echo "          -v          # verbose output"
    	echo "          -h          # this message"
	exit 0
	;;

    *)
        url=$1
        break
    esac

    if [ -n "$2" ];  then
        shift
    else
        break
    fi
done


#  Error checks.
if [ -z "$url" ]; then
   if [ "$verb" = "yes" ]; then
      echo "ERROR: URL not specified"
   fi
   exit 1
fi


#  Do it.
if [ "$exec" = "yes" ]; then
   if [ "$verb" = "yes" ]; then
      echo "Downloading $url ...."
   fi

   if [ "$verb" = "no" ]; then
      $dlcmd "$url" 	> /dev/null 2>&1
   else
      $dlcmd "$url"
   fi

   if [ "$verb" = "yes" ]; then
      echo "done"
   fi
fi


#  Verify we have the file.
if [ ! -e "${url##*/}" ]; then
   if [ "$verb" = "yes" ]; then
      echo "Error downloading file '${url##*/}'"
   fi
   exit 1

else
   if [ $# -gt 1 ]; then
      mv "${url##*/}" "$2"
   fi
fi

#  Normal exit.
exit 0



#=============================================================================
# Usage
#=============================================================================
