wherein I revive some of my 30+year old shell scripting skills so that we can process arbitrary api endpoints which generate arbitrary json and be able to crunch all of these on the command line. Getting the arbitrary query arguments into a form where they could be signed as part of the oauth packet was a challenge. (It still might be - I haven't tried querying any Chinese photo album names yet).
But you can now do something like for a in `util/shredder/shredder -c red/photos -q album=2013 | jshon -e photos -a -e src` ; do wget $a; done and download all the photos in your 2013 album
This commit is contained in:
parent
224a2b9ddf
commit
c012c648e0
@ -174,17 +174,34 @@ FO_statuses_home_timeline () {
|
||||
|
||||
FO_command () {
|
||||
local command="$1"
|
||||
|
||||
local opts="$2"
|
||||
local params=(
|
||||
$(OAuth_param 'screen_name' $screen_name)
|
||||
$(OAuth_param 'count' $count)
|
||||
)
|
||||
|
||||
#echo ${opts[@]}
|
||||
|
||||
convscreen=$(OAuth_PE "$screen_name");
|
||||
data="screen_name=${convscreen}&count=${count}"
|
||||
|
||||
if [ ${#opts[@]} != 0 ]; then
|
||||
for b in ${opts[@]}; do
|
||||
lhs=`echo $b | awk -F= '{print $1};'`
|
||||
rhs=`echo $b | awk -F= '{print $2};'`
|
||||
params=("${params[@]}" $(OAuth_param $lhs $rhs))
|
||||
data=$data"&"$lhs=$rhs
|
||||
done
|
||||
fi
|
||||
|
||||
#echo ${params[@]}
|
||||
|
||||
#echo $data
|
||||
|
||||
|
||||
local auth_header=$(OAuth_authorization_header 'Authorization' "$redmatrix_url" '' '' 'GET' "${redmatrix_url}/api/${command}.json" ${params[@]})
|
||||
|
||||
convscreen=$(OAuth_PE "$screen_name");
|
||||
FO_ret=$(curl -s --get "${redmatrix_url}/api/${command}.json" --data "screen_name=${convscreen}&count=${count}" --header "${auth_header}")
|
||||
FO_ret=$(curl -s --get "${redmatrix_url}/api/${command}.json" --data "${data}" --header "${auth_header}")
|
||||
FO_rval=$?
|
||||
|
||||
return $FO_rval
|
||||
|
@ -158,8 +158,9 @@ main () {
|
||||
fcli_file=
|
||||
fcli_help_flag=
|
||||
JS_Fields=()
|
||||
fcli_opts=
|
||||
|
||||
while getopts "C:c:s:r:f:h:i" name
|
||||
while getopts "C:c:s:r:f:i:q:h" name
|
||||
do
|
||||
case $name in
|
||||
c) fcli_command="$OPTARG";;
|
||||
@ -168,6 +169,7 @@ main () {
|
||||
r) fcli_in_reply_to_status_id="$OPTARG";;
|
||||
f) fcli_file="$OPTARG";;
|
||||
h) fcli_help_flag="1";;
|
||||
q) fcli_opts=("${fcli_opts[@]}" "$OPTARG");;
|
||||
i) JS_Fields=("${JS_Fields[@]}" "$OPTARG");;
|
||||
?) usage
|
||||
exit 2;;
|
||||
@ -216,7 +218,7 @@ main () {
|
||||
return $FO_rval
|
||||
;;
|
||||
*)
|
||||
FO_command $fcli_command
|
||||
FO_command $fcli_command ${fcli_opts[@]}
|
||||
|
||||
echo $FO_ret
|
||||
|
||||
|
Reference in New Issue
Block a user