Skip to main content

Allow passing a photo URL to flphoto

ID
7dfa77b
date
2023-12-28 15:30:20+00:00
author
Alex Chan <alex@alexwlchan.net>
parent
a7ca1ff
message
Allow passing a photo URL to `flphoto`
changed files
3 files, 24 additions, 3 deletions

Changed files

flickr/flphoto.sh (186) → flickr/flphoto.sh (474)

diff --git a/flickr/flphoto.sh b/flickr/flphoto.sh
index 290d688..854f508 100755
--- a/flickr/flphoto.sh
+++ b/flickr/flphoto.sh
@@ -11,4 +11,17 @@ fi
 
 PHOTO_ID="$1"
 
-flapi.sh flickr.photos.getInfo photo_id=$PHOTO_ID
+if [[ "$PHOTO_ID" =~ ^[0-9]+$ ]]
+then
+  flapi.sh flickr.photos.getInfo photo_id=$PHOTO_ID
+else
+  PARSED_ID=$(flickr_url_parser "$PHOTO_ID" | jq -r .photo_id)
+
+  if [[ "$PARSED_ID" =~ ^[0-9]+$ ]]
+  then
+    flapi.sh flickr.photos.getInfo photo_id=$PARSED_ID
+  else
+    echo "I don't know how to interpret $PHOTO_ID" >&2
+    exit 1
+  fi
+fi

requirements.in (143) → requirements.in (161)

diff --git a/requirements.in b/requirements.in
index 3c81161..da2836a 100644
--- a/requirements.in
+++ b/requirements.in
@@ -3,6 +3,7 @@ black
 boto3
 cogapp
 flake8
+flickr-url-parser
 httpx
 humanize
 hyperlink

requirements.txt (2436) → requirements.txt (2566)

diff --git a/requirements.txt b/requirements.txt
index b0e82f5..6fdc8f5 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -36,16 +36,23 @@ cogapp==3.3.0
     # via -r requirements.in
 flake8==6.1.0
     # via -r requirements.in
+flickr-url-parser==1.7.1
+    # via
+    #   -r requirements.in
 h11==0.14.0
     # via httpcore
 httpcore==1.0.2
     # via httpx
 httpx==0.25.2
-    # via -r requirements.in
+    # via
+    #   -r requirements.in
+    #   flickr-url-parser
 humanize==4.9.0
     # via -r requirements.in
 hyperlink==21.0.0
-    # via -r requirements.in
+    # via
+    #   -r requirements.in
+    #   flickr-url-parser
 idna==3.6
     # via
     #   anyio