183 lines
6.2 KiB
Bash
Executable File
183 lines
6.2 KiB
Bash
Executable File
#!/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}"
|
|
|
|
}
|