3 votos

¿Cómo puedo ver en qué álbumes está una foto?

Photos.app - No encuentro la manera de ver en qué álbumes está una foto, ni en iOS ni en MacOS.

Esto parece algo tan básico que debería estar ahí pero no encuentro cómo hacerlo.
Cuando se selecciona una foto, yo esperaría una indicación en los álbumes de la barra lateral en los que está la foto.
Al menos muéstralo en el cuadro de información en mac o en el panel de información en iOS.

Pero ahora mismo no puedo averiguar si debería estar ahí y estoy viendo un error, la funcionalidad no está ahí, o si soy demasiado estúpido para averiguarlo.

4voto

No se puede, al menos no fuera de la caja. Pero hay un AppleScript descrito en https://robservatory.com/show-albums-a-given-photos-photo-has-been-added-to/ (o realmente en https://discussions.apple.com/docs/DOC-9261 ) que resuelve el problema, más o menos.

Para utilizar el script, péguelo todo en el Editor de AppleScript y guárdelo como una aplicación (o simplemente puede ejecutarlo en el Editor de AppleScript). En Fotos, crea un álbum de nivel superior (yo llamé al mío Buscar álbumes en los que está la foto), y coloca la foto que quieres conocer en ese álbum. Déjala seleccionada y ejecuta el AppleScript. Verás un cuadro de diálogo indicando qué foto se está usando, y después de un rato, deberías ver un cuadro de resultados

-- from https://robservatory.com/show-albums-a-given-photos-photo-has-been-added-to/
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

1voto

Tom Harrington Puntos 187

Aquí hay un Applescript diferente que escribí, que funciona para mí. Con esto puedes simplemente seleccionar una foto en Fotos y ejecutar el script, sin añadir la foto a un nuevo álbum. Lo guardé en la carpeta de Fotos, para que aparezca como un elemento del menú en Fotos.

tell application "Photos"
    set selectedPhotos to get selection -- Get the selected photo
    try
        if selectedPhotos is {} then error -- No selection
    on error
        display alert "Select a photo, then run this script to find albums containing the photo."
        return
    end try
    -- Find albums that contain the photo's ID
    set selectedPhotoId to get id of first item in selectedPhotos
    set containingAlbums to get albums whose id of media items contains selectedPhotoId
    try
        if containingAlbums is {} then error
    on error
        display alert "That photo is not in any albums"
    end try
    -- Get names of albums and show them
    set albumNames to name of albums whose id of media items contains selectedPhotoId
    set AppleScript's text item delimiters to ", "
    albumNames as string
    display alert "Albums containing selected photo: " & (albumNames as string)
end tell

1voto

Tyler13 Puntos 11

Gracias Tom por tu script. Funciona, pero el script no comprueba los álbumes en las carpetas. ¿Sabes cómo podemos añadir esto en el script?

Sólo he encontrado la forma de listar las carpetas en Photos App : set folderNames to name of folders mostrar alerta "Lista de carpetas: " & (folderNames as string)

Gracias

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X