1st commit
This commit is contained in:
152
info_photo.sh
Executable file
152
info_photo.sh
Executable file
@@ -0,0 +1,152 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
#api_key=
|
||||
#user_id=
|
||||
|
||||
### Variables for self updating
|
||||
ScriptArgs=( "$@" )
|
||||
ScriptPath="$(readlink -f "$0")" # /Users/bruno/Documents/Scripts/bashbirds/bashbirds.sh
|
||||
ScriptWorkDir="$(dirname "$ScriptPath")" # /Users/bruno/Documents/Scripts/bashbirds
|
||||
|
||||
dotenv () {
|
||||
set -a
|
||||
# shellcheck disable=SC1091
|
||||
[ -f "$ScriptWorkDir/.env" ] && . "$ScriptWorkDir/.env" || { echo -e "${red}\nNo .env file found ! No API key for Flickr.'.${reset}"; exit 1; }
|
||||
set +a
|
||||
}
|
||||
|
||||
dotenv
|
||||
|
||||
|
||||
#photo_id=15306150004
|
||||
#photo_id=54269348549
|
||||
photo_id=53640846257
|
||||
|
||||
perpage=500
|
||||
url_flickr="https://www.flickr.com/"
|
||||
|
||||
: <<'END_COMMENT'
|
||||
END_COMMENT
|
||||
|
||||
|
||||
###################################################
|
||||
# #
|
||||
# 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' ',')
|
||||
|
||||
urls=$(echo "$info_photo" | jq -r '.photo .urls | .url[] | ._content')
|
||||
|
||||
echo "Photo ID: $id"
|
||||
echo "Title: $title - Description: $description"
|
||||
echo "Posted: $posted - Taken: $taken"
|
||||
echo "View: $view - Comments: $comments"
|
||||
echo "Tags: $tags"
|
||||
echo
|
||||
}
|
||||
|
||||
params_info=("$api_key" "$photo_id")
|
||||
getinfo_photos "${params_info[@]}"
|
||||
|
||||
|
||||
echo "--------------------------------------------"
|
||||
|
||||
###################################################
|
||||
# #
|
||||
# Get exif for the given photo. #
|
||||
# flickr.photos.getExif #
|
||||
# #
|
||||
###################################################
|
||||
|
||||
getexif_photos() {
|
||||
params=("$@")
|
||||
#exif_photo=$(curl -s "https://www.flickr.com/services/rest/?method=flickr.photos.getExif&api_key=$api_key&photo_id=$photo_id&format=json&nojsoncallback=1")
|
||||
exif_photo=$(curl -s "https://www.flickr.com/services/rest/?method=flickr.photos.getExif&api_key=$1&photo_id=$2&format=json&nojsoncallback=1")
|
||||
|
||||
#id=$(echo "$exif_photo" | jq -r '.photo .id')
|
||||
#camera=$(echo "$exif_photo" | jq -r '.photo .camera')
|
||||
|
||||
exifs=$(echo "$exif_photo" | jq -r '.photo .exif')
|
||||
|
||||
model=$(echo "$exifs" | jq -r '.[] | select(.label == "Model") | (.raw ._content)')
|
||||
software=$(echo "$exifs" | jq -r '.[] | select(.label == "Software") | (.raw ._content)')
|
||||
date_orig=$(echo "$exifs" | jq -r '.[] | select(.label == "Date and Time (Original)") | (.raw ._content)')
|
||||
aperture=$(echo "$exifs" | jq -r '.[] | select(.label == "Aperture") | (.raw ._content)')
|
||||
exposure=$(echo "$exifs" | jq -r '.[] | select(.label == "Exposure") | (.raw ._content)')
|
||||
iso=$(echo "$exifs" | jq -r '.[] | select(.label == "ISO Speed") | (.raw ._content)')
|
||||
bias=$(echo "$exifs" | jq -r '.[] | select(.label == "Exposure Bias") | (.raw ._content)')
|
||||
ep=$(echo "$exifs" | jq -r '.[] | select(.label == "Exposure Program") | (.raw ._content)')
|
||||
wb=$(echo "$exifs" | jq -r '.[] | select(.label == "White Balance") | (.raw ._content)')
|
||||
#lens_info=$(echo "$exifs" | jq -r '.[] | select(.label == "Lens Info") | (.raw ._content)')
|
||||
#lens_model=$(echo "$exifs" | jq -r '.[] | select(.label == "Lens Model") | (.raw ._content)')
|
||||
lens=$(echo "$exifs" | jq -r '.[] | select(.label == "Lens") | (.raw ._content)')
|
||||
|
||||
echo "Model: $model - Software: $software - Date: $date_orig"
|
||||
echo "Aperture: $aperture - Exposure: $exposure - ISO: $iso"
|
||||
echo "Exposure Bias: $bias - Exposure Program: $ep - White Balance: $wb"
|
||||
echo "Lens: $lens"
|
||||
echo
|
||||
}
|
||||
|
||||
params_exifs=("$api_key" "$photo_id")
|
||||
getexif_photos "${params_exifs[@]}"
|
||||
|
||||
|
||||
echo "--------------------------------------------"
|
||||
|
||||
###################################################
|
||||
# #
|
||||
# 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')
|
||||
|
||||
title_album=$(echo "$albums" | jq -r '.[].title' | tr '\n' ' ')
|
||||
id_album=$(echo "$albums" | jq -r '.[].id' | tr '\n' ' ')
|
||||
|
||||
title_group=$(echo "$groups" | jq -r '.[].title' | tr '\n' ' ')
|
||||
id_group=$(echo "$groups" | jq -r '.[].id' | tr '\n' ' ')
|
||||
url_group=$(echo "$groups" | jq -r '.[].url' | tr '\n' ' ')
|
||||
|
||||
echo "ID: $id_album"
|
||||
echo "Albums: $title_album"
|
||||
echo
|
||||
|
||||
echo "ID: $id_group"
|
||||
echo "Groups: $title_group"
|
||||
echo "URL: $url_flickr$url_group"
|
||||
}
|
||||
|
||||
params_context=("$api_key" "$photo_id")
|
||||
getAllContexts_photos "${params_context[@]}"
|
||||
Reference in New Issue
Block a user