#!/bin/ksh -p
#  exp_ftp: ftp transport mechanism
#  $Id: //depot/stable/explorer/lib/exp_ftp#2 $
EXP_FTP_VERSION='$Revision: #2 $'
export EXP_FTP_VERSION

EXP_VERSION=4.0

if [ -n "${DO_VERSION}" ]
then
    LIB=${0##*/}
    echo "${LIB} version: ${EXP_FTP_VERSION}"
    exit
fi

# Source common functions
. ${EXP_LIB}/exp_common

# Must have EXP_FILE, EXP_FTP and EXP_FTPDEST
require 'test -f "${EXP_FILE}"'
require 'test -n "${EXP_FTP}"'
require 'test -n "${EXP_FTPDEST}"'
require "cd ${EXP_TMPDIR}"

ARCH=`uname -p`
EXP_FNAME=${EXP_TARGET##*/}

# Require host to be in /.netrc
require 'egrep -s -e "${EXP_FTP}" /.netrc' "Unable to find ${EXP_FTP} in /.netrc, please update"

# Found in /.netrc, make attempt to ftp
EXP_TMPFILE="${EXP_TMPDIR}/ftp.$$"
ftp ${EXP_FTP} >${EXP_TMPFILE} <<EOF
bin
cd ${EXP_FTPDEST}
put ${EXP_FILE}
quit
EOF

# Process any error messages from the ftp
if egrep -s -e "No such file or directory." ${EXP_TMPFILE}
then
    # logfile ERROR "Missing ${EXP_FTPDEST} on ${EXP_FTP}"
    TEXT=`gettext "Missing %s on %s"`
    TEXT=`printf "${TEXT}" "${EXP_FTPDEST}" "${EXP_FTP}"`
    logfile ERROR "${TEXT}"
elif egrep -s -e "Permission denied." ${EXP_TMPFILE}
then
    # logfile ERROR "Unable to write to ${EXP_FTPDEST} on ${EXP_FTP}"
    TEXT=`gettext "Unable to write to %s on %s"`
    TEXT=`printf "${TEXT}" "${EXP_FTPDEST}" "${EXP_FTP}"`
    logfile ERROR "${TEXT}"
else
    # logfile NOTNOISE "${EXP_FILE} sent via ftp to ${EXP_FTP}${EXP_FTPDEST}"
    TEXT=`gettext "%s sent via ftp to %s%s"`
    TEXT=`printf "${TEXT}" "${EXP_FILE}" "${EXP_FTP}" "${EXP_FTPDEST}"`
    logfile NOTNOISE "${TEXT}"
fi

# Clean up
rm -f ${EXP_TMPFILE}
