#!/usr/bin/env bash ################################################### # # # Get info for the given user. # # flickr.people.getInfo # # # ################################################### getinfo_people() { params=("$@") #info_user=$(curl "https://www.flickr.com/services/rest/?method=flickr.people.getInfo&api_key=$api_key&user_id=$user_id&format=json&nojsoncallback=1") info_user=$(curl -s "https://www.flickr.com/services/rest/?method=flickr.people.getInfo&api_key=$1&user_id=$2&format=json&nojsoncallback=1") userid=$(echo "$info_user" | jq -r '.person | .id') username=$(echo "$info_user" | jq -r '.person | .username ._content') ispro=$(echo "$info_user" | jq -r '.person | .ispro') path_alias=$(echo "$info_user" | jq -r '.person | .path_alias') count=$(echo "$info_user" | jq -r '.person .photos | .count ._content') pages=$(((count / perpage) + 1)) firstdatetaken=$(echo "$info_user" | jq -r '.person .photos | .firstdatetaken ._content') photosurl=$(echo "$info_user" | jq -r '.person | .photosurl ._content') profileurl=$(echo "$info_user" | jq -r '.person | .profileurl ._content') : <<'END_COMMENT2' echo $userid echo $username echo $ispro echo $path_alias echo $count echo $pages echo $firstdatetaken echo $photosurl echo $profileurl END_COMMENT2 } ################################################### # # # Get info for the given photo. # # flickr.photos.getInfo # # # ################################################### getinfo_photos() { params=("$@") #info_photo=$(curl -s "https://www.flickr.com/services/rest/?method=flickr.photos.getInfo&api_key=$api_key&photo_id=$photo_id&format=json&nojsoncallback=1") info_photo=$(curl -s "https://www.flickr.com/services/rest/?method=flickr.photos.getInfo&api_key=$1&photo_id=$2&format=json&nojsoncallback=1") id=$(echo "$info_photo" | jq -r '.photo .id') title=$(echo "$info_photo" | jq -r '.photo .title | ._content') description=$(echo "$info_photo" | jq -r '.photo .description | ._content') ## p=$(echo "$info_photo" | jq -r '.photo .dates | .posted') posted=$(LC_ALL=fr_FR.UTF-8 date -d @$p +"%d/%m/%Y %H:%M:%S" 2>/dev/null || LC_ALL=fr_FR.UTF-8 date -r $p +"%d/%m/%Y %H:%M:%S") t=$(echo "$info_photo" | jq -r '.photo .dates | .taken') taken=$(LC_ALL=fr_FR.UTF-8 date -d "$t" +"%d/%m/%Y %H:%M:%S" 2>/dev/null || LC_ALL=fr_FR.UTF-8 date -d "$t" +"%d/%m/%Y %H:%M:%S") view=$(echo "$info_photo" | jq -r '.photo .views') comments=$(echo "$info_photo" | jq -r '.photo .comments | ._content') tags=$(echo "$info_photo" | jq -r '.photo .tags | .tag[].raw' | tr '\n' ',') url=$(echo "$info_photo" | jq -r '.photo .urls | .url[] | ._content') : <<'END_COMMENT2' #echo "Photo ID: $id - Title: $title" echo "Description: $description" echo "Posted: $posted - Taken: $taken" echo "View: $view - Comments: $comments" echo "Tags: $tags" echo END_COMMENT2 } ################################################### # # # Get contexts for the given photo. # # flickr.photos.getAllContexts # # # ################################################### getAllContexts_photos() { params=("$@") #contexts_photo=$(curl -s "https://www.flickr.com/services/rest/?method=flickr.photos.getAllContexts&api_key=$api_key&photo_id=$photo_id&format=json&nojsoncallback=1") contexts_photo=$(curl -s "https://www.flickr.com/services/rest/?method=flickr.photos.getAllContexts&api_key=$1&photo_id=$2&format=json&nojsoncallback=1") albums=$(echo "$contexts_photo" | jq -r '.set') groups=$(echo "$contexts_photo" | jq -r '.pool') if [ "$albums" != "null" ]; then title_alb=$(echo "$albums" | jq -r '.[].title' | tr '\n' ';') id_alb=$(echo "$albums" | jq -r '.[].id' | tr '\n' ';') else title_alb="" id_alb="" fi if [ "$groups" != "null" ]; then title_gro=$(echo "$groups" | jq -r '.[].title' | tr '\n' ';') id_gro=$(echo "$groups" | jq -r '.[].id' | tr '\n' ';') url_gro=$(echo "$groups" | jq -r '.[].url' | tr '\n' ';') else title_gro="" id_gro="" url_gro="" fi : <<'END_COMMENT2' echo "ID: $id_alb" echo "Albums: $title_alb" echo echo "ID: $id_gro" echo "Groups: $title_gro" echo "URL: $url_flickr$url_gro" END_COMMENT2 } ################################################### # # # Get favorites for the given photo. # # flickr.photos.getFavorites # # # ################################################### getFavorites_photos() { params=("$@") favorites_photo=$(curl -s "https://www.flickr.com/services/rest/?method=flickr.photos.getFavorites&api_key=$1&photo_id=$2&format=json&nojsoncallback=1") favorites=$(echo "$favorites_photo" | jq -r '.photo .total') } search_photos() { # tags, tag_mode (OR/AND), text (-exclude) # min_upload_date, max_upload_date, min_taken_date, max_taken_date (timestamp or mysql datetime) # sort (date-posted-asc, date-posted-desc, date-taken-asc, date-taken-desc, interestingness-desc, interestingness-asc, and relevance.) # group_id, user_id, media (all/photos/videos), has_geo # extras (description, license, date_upload, date_taken, owner_name, icon_server, original_format, last_update, geo, tags, machine_tags, o_dims, views, media, path_alias, url_sq, url_t, url_s, url_q, url_m, url_n, url_z, url_c, url_l, url_o) params=("$@") search_photo=$(curl -s "https://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=$1&user_id=$2&$3&format=json&nojsoncallback=1") search=$(echo "$search_photo" | jq -r '.photos .photo') counter=0 while read -r id && read -r title; do echo -e "${BOLD}Photo ID: ${id}\t Title: ${title}${COLOR_RESET}" photo_id=$(echo "${id}" | sed "s/'/''/g") photo_title=$(echo "${title}" | sed "s/'/''/g") ID+=(${id}) ((++counter)) done < <(jq -r -c '.[] | .id, .title' <<< "$search") request="${request//+/ }" request="${request//%3A/:}" echo -e "${COLOR_GREEN}Found $counter public photos for request (${request//+/ }) on Flickr.${COLOR_RESET}" }