gplugin/gplugin
Clone
Summary
Browse
Changes
Graph
flow: Promoted <develop> 'trunk' (22bf185b75f0) to 'feature/java'.
feature/java
2015-06-29, Gary Kramlich
b0fb96faf052
file is
Executable
flow: Promoted
'trunk' (22bf185b75f0) to 'feature/java'.
#!/bin/sh
CURL
=
$(
which
curl
)
GREP
=
$(
which
grep
)
AWK
=
$(
which
awk
)
OUTPUT
=
.bitbucket.cookies
rm
-f
${
OUTPUT
}
PATH
=
${
1
}
FILES
=
${
@
}
if
[
-z
${
PATH
}
]
;
then
echo
"You must provide a repository path"
exit
1
fi
if
[
-z
"
${
FILES
}
"
]
;
then
echo
"You must provide at least one file to upload"
exit
1
fi
BASE_URI
=
https://bitbucket.org
LOGIN_URI
=
${
BASE_URI
}
/account/signin/
UPLOAD_URI
=
${
BASE_URI
}
/
${
PATH
}
/downloads
read
-e
-p
"bitbucket username: "
BB_USERNAME
read
-e
-s
-p
"bitbucket password: "
BB_PASSWORD
echo
echo
# get the csrf token
echo
-n
"getting login token ... "
${
CURL
}
-s
-k
-c
${
OUTPUT
}
-o
/dev/null
${
LOGIN_URI
}
CSRF_TOKEN
=
$(
${
GREP
}
csrftoken
${
OUTPUT
}
|
${
AWK
}
'{print $7}'
)
if
[
-z
${
CSRF_TOKEN
}
]
;
then
echo
"failed."
rm
-f
${
OUTPUT
}
exit
1
else
echo
"done"
fi
echo
-n
"logging in ... "
${
CURL
}
-s
-k
-c
${
OUTPUT
}
-b
${
OUTPUT
}
-o
/dev/null
-d
"username=
${
BB_USERNAME
}
&password=
${
BB_PASSWORD
}
&csrfmiddlewaretoken=
${
CSRF_TOKEN
}
"
--referer
${
LOGIN_URI
}
-L
${
LOGIN_URI
}
${
GREP
}
-q
bb_session
${
OUTPUT
}
if
[
$?
-ne
0
]
;
then
echo
"failed"
rm
-f
${
OUTPUT
}
exit
1
else
echo
"done"
fi
for
FILE
in
${
FILES
}
;
do
echo
-n
"uploading
${
FILE
}
... "
${
CURL
}
-s
-k
-c
${
OUTPUT
}
-b
${
OUTPUT
}
--referer
${
UPLOAD_URI
}
-L
--form
csrfmiddlewaretoken
=
${
CSRF_TOKEN
}
--form
token
=
--form
file
=
@
"
${
FILE
}
"
${
UPLOAD_URI
}
if
[
$?
-ne
0
]
;
then
echo
"failed"
rm
-f
${
OUTPUT
}
exit
1
else
echo
"done"
fi
done
exit
0