#!/bin/bash

# global value
access_token=''
declare -A diritem
declare -A jsondata
for var in folder name category mtime mount_point size id
do
	declare -A list_${var}
done
c_path='/'
c_name=false

source ./bitcasaAPI.sh
source ./bitcasa_complete.sh
source ./bitcasa_util.sh
source ./bitcasa_command.sh


testtoken

set -o emacs
bind -x '"\t":"__tab"'

while true
do
	path_str=$c_path
	if $c_name ; then
		path_str=$(encpathtofullpath $c_path)
	fi
	read -e -p "$path_str>" CMD
	CMD="${CMD//\</\\<}"
	CMD="${CMD//\>/\\>}"
	CMD="${CMD//\|/\\|}"
	CMD="${CMD//\*/\\\*}"
	c=${CMD//\"}
	q=$((${#CMD}-${#c}))
	if [ $((q % 2)) -eq 1 ]; then
		CMD=$CMD'"'
	fi
	unset c q
	eval set -- $CMD
	CMD=$1
	shift
	case "$CMD" in
		quit | exit | bye ) break ;;
		cd )
			changedir "$@"
		;;
		lcd )
			cd "$@"
		;;
		ls | dir )
			rdir "$@"
		;;
		!ls | !dir )
			ls "$@"
		;;
		pwd )
			echo -e "$c_path"'\t'$(encpathtofullpath $c_path)
		;;
		!pwd )
			pwd
		;;
		mkdir )
			rmkdir "$@"
		;;
		rmdir )
			rrmdir "$@"
		;;
		get )
			rget "$@"
		;;
		put )
			rput "$@"
		;;
		mput )
			mput "$@"
		;;
		del )
			rdel "$@"
		;;
	esac
done
