#!/bin/sh
# ftp utility used by lcma, by peter van wazer 10.17.2000
# ether src or dest must have format - ftp://user:pw@server:port/myDir/myFile.sdf
# the other must be a local client file - /tmp/lcma/idf/myfile.sdf
# NOTE: win to unix text files transfered in binary conatin cr char's, tar can not use them
# echo "src=$1 dest=$2"

# check parameter 1 for ftp protocol, else must be parameter 2
SRC_PROTO=`echo $1 | cut -c1-4`

# check the extension on parameter 1
FILE_EXT=`echo "$1" | sed -n 's/.*\.\(.*$\)/\1/p'`
if [ $FILE_EXT = tgz -o $FILE_EXT = tar ]; then
	BIN_TXT=binary
else
	BIN_TXT=
fi

# parse $1 and $2 for, 'user pw', 'server port', local&remote path/file
if [ $SRC_PROTO = ftp: ]; then
	USER_PW=`echo $1 | sed -n 's/ftp:\/\/\(.*\):\(.*\)\@.*$/\1 \2/p'`
	SERVER_PORT=`echo $1 | sed -n 's/.*\@\(.*\):\([0-9]*\).*$/\1 \2/p'`
	ARG1=`echo $1 | sed -n 's/.*\@[^/]*\(\/.*$\)/\1/p'`
	ARG2=$2
	FTP_CMD="get $ARG1 $ARG2"
else
	USER_PW=`echo $2 | sed -n 's/ftp:\/\/\(.*\):\(.*\)\@.*$/\1 \2/p'`
	SERVER_PORT=`echo $2 | sed -n 's/.*\@\(.*\):\([0-9]*\).*$/\1 \2/p'`
	ARG1=$1
	ARG2=`echo $2 | sed -n 's/.*\@[^/]*\(\/.*$\)/\1/p'`
#	if [ $# = 3 ] && [ "$3" = "--append" ]; then
#		FTP_CMD="append $ARG1 $ARG2"
#	else
		FTP_CMD="put $ARG1 $ARG2"
#	fi	
fi
 
# echo "SRC_PROTO=$SRC_PROTO"
# echo "USER_PW=$USER_PW"
# echo "SERVER_PORT=$SERVER_PORT"
# echo "BIN_TXT=$BIN_TXT"
# echo "FTP_CMD=$FTP_CMD"

# run ftp here document
ftp -n <<-END
	open $SERVER_PORT
	user $USER_PW
	$BIN_TXT
	$FTP_CMD
	bye
END
