Puede identificar fotos de baja resolución en Photos.app utilizando AppleScript y cotejarlas en un único álbum que le permita seleccionarlas todas de una vez para eliminarlas.
Normalmente, este fragmento de código (ejecutado desde el interior del Editor de secuencias de comandos ) buscará las fotos (y los videos) de baja resolución y las incluirá en un nuevo álbum llamado "Baja resolución" :
tell application "Photos" to add ¬
(every media item whose ¬
(height > width and height ≤ 480) or ¬
(width > height and width ≤ 480)) to ¬
make new album named "Low Res"
Sin embargo, en MacOS 10.13 con las últimas actualizaciones instaladas, se produce un error, informando que no puede recuperar el álbum especificado. Probablemente sea un error en Photos.app .
Entonces, decidí asignar una descripción a todos estos elementos multimedia en su lugar:
tell application "Photos" to ¬
set the description of ¬
(every media item whose ¬
(height > width and height ≤ 480) or ¬
(width > height and width ≤ 480)) to ¬
"Low Resolution"
display alert "Done."
Luego, dentro de Photos.app , creé un Smart Album con el siguiente criterio de búsqueda:
DespuésdehacerclicenAceptar,elálbumsellenóconlasfotos(yvideos)quesemarcaroncomodebajaresolución.
Ahora,asumiendoquenohaynadaallíquequieraconservar,simplementepresioneCmd+Aparaseleccionartodosloselementos,luegoCmd+paraeliminarlosatodosdelabiblioteca(enrealidad,losmuevealacarpetaEliminadosrecientementedelabiblioteca,loquesignificaquepuederecuperarcualquierelementoquenohayapensadoparaeliminar).
Unpardenotas:
Sinodeseaquelosarchivosdevideoseincluyanenelsacrificio,useestoscriteriosparaelálbuminteligente:
Tengaencuentaquelaseleccióndecoincidenciaseestableceentodos.Estoexcluyelosvideosylebrindaunálbumquesolocontienefotosdebajaresolución.
Finalmente,tengaencuentaqueAppleScripttienequebuscarentodasubibliotecaycompararlaalturayelanchodecadaelementoqueseencuentra.Dependiendodeltamañodelabiblioteca,puedetardarunosminutos.
MiPhotos.appbibliotecatiene8000fotosytomóalrededordetresminutosenunaMacBook1.2GHzm5paracompletar.
SiScriptEditorseagotaeltiempodeespera,ajusteelcódigodentrodeunbloquetimeout
yespecifiqueunperíododetiempoensegundosparapermitirqueelcódigosecompletehastacompletar:
withtimeoutof300secondstellapplication"Photos" to...
...etc...
end timeout
display alert "Done."