From c012c648e0691868370a5a8c1eb468020fef6330 Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 18 Jun 2014 22:29:04 -0700 Subject: 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 --- util/shredder/ShredOAuth.sh | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'util/shredder/ShredOAuth.sh') diff --git a/util/shredder/ShredOAuth.sh b/util/shredder/ShredOAuth.sh index 76858d73c..9e808a2d6 100755 --- a/util/shredder/ShredOAuth.sh +++ b/util/shredder/ShredOAuth.sh @@ -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 -- cgit v1.2.3