Use lowercase for variable names
This commit is contained in:
parent
0b2f3b1040
commit
f973213ec7
80
slcl-upload
80
slcl-upload
|
@ -22,33 +22,33 @@ then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
SRC="$1"
|
||||
DIR="$2"
|
||||
URL="$3"
|
||||
src="$1"
|
||||
dir="$2"
|
||||
url="$3"
|
||||
|
||||
echo Username: >&2
|
||||
IFS= read -r USER
|
||||
IFS= read -r user
|
||||
|
||||
if printf '%s' "$USER" | grep -qe '[[:space:]]'
|
||||
if printf '%s' "$user" | grep -qe '[[:space:]]'
|
||||
then
|
||||
echo Username cannot contain whitespaces >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TTYCFG=$(stty -g)
|
||||
trap "stty $TTYCFG" INT QUIT TERM EXIT
|
||||
ttycfg=$(stty -g)
|
||||
trap "stty $ttycfg" INT QUIT TERM EXIT
|
||||
stty -echo
|
||||
echo Password: >&2
|
||||
IFS= read -r PWD
|
||||
IFS= read -r pwd
|
||||
stty echo
|
||||
# Force newline
|
||||
echo
|
||||
|
||||
COOKIE="$(mktemp)"
|
||||
cookie="$(mktemp)"
|
||||
|
||||
cleanup()
|
||||
{
|
||||
rm -f $COOKIE
|
||||
rm -f $cookie
|
||||
}
|
||||
|
||||
slcl_mkdir()
|
||||
|
@ -57,15 +57,15 @@ slcl_mkdir()
|
|||
--fail-with-body \
|
||||
--no-progress-meter \
|
||||
-s \
|
||||
-b "$COOKIE" \
|
||||
-b "$cookie" \
|
||||
-o /dev/null \
|
||||
"$(escape_url "$URL/user$2/$1/")"
|
||||
"$(escape_url "$url/user$2/$1/")"
|
||||
then
|
||||
curl -X POST \
|
||||
--fail-with-body \
|
||||
-b "$COOKIE" \
|
||||
-b "$cookie" \
|
||||
--data-urlencode "name=$1" --data-urlencode "dir=$2/" \
|
||||
"$URL/mkdir"
|
||||
"$url/mkdir"
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -73,56 +73,56 @@ trap cleanup EXIT
|
|||
|
||||
curl -X POST \
|
||||
--fail-with-body \
|
||||
-c "$COOKIE" \
|
||||
--data-urlencode "username=$USER" --data-urlencode "password=$PWD" \
|
||||
"$URL/login"
|
||||
-c "$cookie" \
|
||||
--data-urlencode "username=$user" --data-urlencode "password=$pwd" \
|
||||
"$url/login"
|
||||
|
||||
LEVEL=0
|
||||
level=0
|
||||
|
||||
upload_dir()
|
||||
{
|
||||
local SRC="$1"
|
||||
local DIR="$2"
|
||||
local N=$(cd "$1" && ls -A | wc -l)
|
||||
local I=1
|
||||
local src="$1"
|
||||
local dir="$2"
|
||||
local n=$(cd "$1" && ls -A | wc -l)
|
||||
local i=1
|
||||
|
||||
test $N -eq 0 && return
|
||||
test $n -eq 0 && return
|
||||
|
||||
LEVEL=$(($LEVEL + 1))
|
||||
level=$(($level + 1))
|
||||
|
||||
while read f
|
||||
do
|
||||
for i in $(seq $LEVEL)
|
||||
for l in $(seq $level)
|
||||
do
|
||||
printf "-"
|
||||
done
|
||||
|
||||
printf " [%d/%d] %s -> %s " "$I" "$N" "$f" "$DIR$SRC/"
|
||||
printf " [%d/%d] %s -> %s " "$i" "$n" "$f" "$dir$src/"
|
||||
|
||||
if test -d "$SRC/$f"
|
||||
if test -d "$src/$f"
|
||||
then
|
||||
printf "[entering directory]\n"
|
||||
slcl_mkdir "$f" "$DIR$SRC"
|
||||
upload_dir "$SRC/$f" "$DIR"
|
||||
elif ! test -f "$SRC/$f"
|
||||
slcl_mkdir "$f" "$dir$src"
|
||||
upload_dir "$src/$f" "$dir"
|
||||
elif ! test -f "$src/$f"
|
||||
then
|
||||
printf "[not a file]\n"
|
||||
elif curl --head \
|
||||
--fail-with-body \
|
||||
--no-progress-meter \
|
||||
-s \
|
||||
-b "$COOKIE" \
|
||||
-b "$cookie" \
|
||||
-o /dev/null \
|
||||
"$(escape_url "$URL/user$DIR$SRC/$f")"
|
||||
"$(escape_url "$url/user$dir$src/$f")"
|
||||
then
|
||||
printf "[skipping]\n"
|
||||
else
|
||||
while ! curl -X POST \
|
||||
--fail-with-body \
|
||||
-b "$COOKIE" \
|
||||
-F dir="$DIR$SRC/" \
|
||||
-F "file=@$SRC/$f;filename=$(basename "$f")" \
|
||||
"$(escape_url "$URL/upload")"
|
||||
-b "$cookie" \
|
||||
-F dir="$dir$src/" \
|
||||
-F "file=@$src/$f;filename=$(basename "$f")" \
|
||||
"$(escape_url "$url/upload")"
|
||||
do
|
||||
printf "[retrying]"
|
||||
sleep 5
|
||||
|
@ -131,13 +131,13 @@ upload_dir()
|
|||
printf "[done]\n"
|
||||
fi
|
||||
|
||||
I=$(($I + 1))
|
||||
i=$(($i + 1))
|
||||
done <<-EOF
|
||||
$(cd "$1" && ls -A)
|
||||
EOF
|
||||
|
||||
LEVEL=$(($LEVEL - 1))
|
||||
level=$(($level - 1))
|
||||
}
|
||||
|
||||
slcl_mkdir "$SRC" "$DIR"
|
||||
upload_dir "$SRC" "$DIR"
|
||||
slcl_mkdir "$src" "$dir"
|
||||
upload_dir "$src" "$dir"
|
||||
|
|
Loading…
Reference in New Issue