How to find out the albums a photo is in: Jacques Rioux's script, Version 2019

by: 
Last modified: Jun 8, 2020 3:55 PM
13 5996 Last modified Jun 8, 2020 3:55 PM

Photo for Mac can show you the "moment" a photo is in, but has no tools to find the albums, that contain the photo.

User Jacques Rioux posted an Apple Script, that can list all albums that contain a selected photo. See this link:


Re: Re: How can I identify which albums photos are assigned to in Photos.


Here is a version of Jacques script with a few error checks added by me:

This version has been tested on macOS Sierra 10.12.4 and macOS 10.14.2 Mojave. In Photos 5.0 on Catalina the script can only find top level albums, not albums in nested folders.


In Photos 5.0 on Catalina use this version:

How to find out the albums a photo is in: Jacques Rioux's Script, Catalina Version for Photos 5 - Apple Community



-- Jacques Rioux's script  https://discussions.apple.com/message/29601534#29601534
-- modified by leonie

-- Select the photo in Photos, then run this script 
-- by pressing the "Run" button in the script editor 
-- or run it from the scripts menu.
-- The script will show first a panel with the filename of the photo it is searching for.
-- Then it will show a second panel with the list of albums. 
-- if you do not see the panels, click the script Editor icon in the Dock, if it is bouncing.

tell application "Photos"
	activate
	-- Add the photo you want to search for to a top level album as the first item in the album
	
	set resultcaption to "Searching for: "
	try
		
		set sel to selection
		if sel is {} then error "The selection  is empty" -- no selection 
		
	on error errTexttwo number errNumtwo
		display dialog "No photos selected " & errNumtwo & return & errTexttwo
		return
	end try
	
	set imagename to "unknown filename"
	try
		set target to item 1 of sel -- the image to seach for
		tell target
			set imagename to the filename of target
		end tell
	on error errTexttwo number errNumtwo
		display dialog "Cannot get the filename of the first image: " & errNumtwo & return & errTexttwo
	end try
	set resultcaption to (resultcaption & imagename)
end tell

try
	display alert resultcaption buttons {"Cancel", "OK"} as informational giving up after 2
on error errText number errNum
	if (errNum is equal to -128) then
		-- User cancelled.
		return
	end if
end try
-- From Jacques Rioux's script:
tell application "Photos"
	-- set sel to selection
	if sel is {} then return -- no selection 
	try
		set thisId to id of item 1 of sel
	on error errText number errNum
		display dialog "Error: cannot get the image ID" & errNum & return & errText & "Trying again"
		
		try
			delay 2
			set thisId to id of item 1 of sel
		on error errTexttwo number errNumtwo
			display dialog "Skipping image due to repeated error: " & errNumtwo & return & errTexttwo
			error "giving up"
			return
		end try --second attempt
	end try
	
	set theseNames to {}
	try
		set theseNames to name of (albums whose id of media items contains thisId)
	on error errText number errNum
		display dialog "Error: cannot get the albums" & errNum & return & errText & "Trying again"
		try
			delay 2
			set theseNames to name of (albums whose id of media items contains thisId)
		on error errTexttwo number errNumtwo
			display dialog "Skipping image due to repeated error: " & errNumtwo & return & errTexttwo
			error "giving up"
			return
		end try
	end try
end tell

if theseNames is not {} then
	set {oTid, text item delimiters} to {text item delimiters, return}
	set {t, text item delimiters} to {theseNames as string, oTid}
	-- return oTid
else
	set t to "No album"
end if
activate

set resultcaption to resultcaption & ", found it in these albums:
" & t as string
set the clipboard to resultcaption
display dialog resultcaption buttons {"OK"} default button "OK" -- you can press the Enter key or the return Key to close the dialog
return resultcaption -- léonie

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.