Error de AppleScript al intentar eliminar álbumes vacíos en Photos.app

0

El problema

Estoy tratando de eliminar un montón de álbumes vacíos utilizando AppleScript. He comprobado que estoy "obteniendo" / "recopilando" / lo que sea que corresponda, prefiera los álbumes correctos.

Pero cuando intento eliminar estos álbumes vacíos, aparece un error en estas líneas:

error "Can’t make item 1 of every album of 
folder id \"wFSS4tONSgyq4NWwnUthVA\" of folder id \"6Aod8RunTj+3Nsz2jmM1xA\" 
into type integer." number -1700 from item 1 of every album of folder id
"wFSS4tONSgyq4NWwnUthVA" of folder id "6Aod8RunTj+3Nsz2jmM1xA" to integer

Se produce el mismo error si trato de eliminar los álbumes vacíos mientras recorro mis álbumes y verifico si están vacíos, o si recopilo los álbumes vacíos en una lista y uso un segundo bucle para eliminar los álbumes en la lista.

¿Qué está pasando? La documentación indica claramente que "solo se pueden eliminar los álbumes y las carpetas".

Mi código

repeat with project_folder in PROJECTS_SUBFOLDERS
    --log "PROJECT FOLDER: " & project_folder's name & ¬
    --"\nID: " & project_folder's id

    if (count of project_folder's albums) is greater than 0 then
        --log "\n"
        --log project_folder's name as text
        --log project_folder's id as text
        --log ""

        repeat with abm in project_folder's albums
            --log "Class: " & abm's class as text
            --log "Album: " & abm's name as text
            --log "ID: " & abm's id as text

            if (count of abm's media items) is equal to 0 then
                --log (count of abm's media items)
                log abm's name as text
                set the end of empty_albums to abm
            end if
        end repeat
    end if
end repeat


log "now, to delete..."

repeat with abm in empty_albums
    log "Deleting " & abm's name as text
    delete album abm  
    -- (I have also tried 'delete abm' without success)
end repeat

return

Este código es el método de 2 bucles, pero lo mismo ocurre si intento eliminar álbumes vacíos sin recopilarlos primero en una lista.

¡¿Puede alguien decirme qué está pasando ?!

¿Alguien puede decirme cómo hacer que esta secuencia de comandos se ejecute correctamente?

    
pregunta Zearin 06.03.2017 - 13:53

1 respuesta

1

La solución es cambiar:

delete abm
-- or delete album abm

A esto:

delete album id (abm's id)

Nada en la documentación de la biblioteca me hubiera llevado a esta respuesta. Solo estaba intentando cualquier cosa por desesperación.

    
respondido por el Zearin 06.03.2017 - 14:33

Lea otras preguntas en las etiquetas