Если вы из тех людей, кто самостоятельно загружал обложки для музыкальных альбомов в iTunes и вручную прописывал тэги, чтобы музыкальная коллекция на компьютере выглядела красиво и упорядочено, то следующий наш совет придется вам по душе.
Начиная с версии macOS 10.10.3 в системе появилось новое стандартное приложение «Фото», которое служит центральным хабом для импорта, хранения и работы с изображениями. Оно позволяет просматривать фотографии, создавать альбомы по людям, времени и геолокации, работать с фотографиями из облака iCloud и много другое.
Проблема в том, что чаще всего люди хранят свои фотографии на жестком диске компьютера, сортируя их по папкам: фото с отдыха, фото со свадьбы и так далее. Приложение «Фото» не позволяет напрямую импортировать такие папки. Если просто импортировать свой фотоархив, то в приложении они добавятся в один общий альбом, который придется потом сортировать по событиям заново.
К счастью, есть выход и стандартные инструменты в macOS, которые позволяют автоматизировать рутинные процессы. Пользователь code!z выложил на github скрипт, который может в один клик добавить все ваши фотографии в базу «Фото», сохранив их структуру.
Как это сделать:
1) Откройте стандартное приложение «Редактор скриптов»;
2) Скопируйте код скрипта:
on run
set folderList to (choose folder with multiple selections allowed)
tell application "Photos"
activate
delay 2
end tell
repeat with baseFolder in folderList
importEachSubFolder(baseFolder, null)
end repeat
end run
on importEachSubFolder(aFolder, parentFolder)
tell application "Finder"
set albumName to (name of aFolder as text)
set subFolders to every folder of aFolder
end tell
if (count of subFolders) > 0 then
set fotoFolder to createFotoFolder(aFolder, albumName, parentFolder)
repeat with eachFolder in subFolders
importEachSubFolder(eachFolder, fotoFolder)
end repeat
else
set fotoFolder to parentFolder
end if
importFotos(aFolder, albumName, fotoFolder)
end importEachSubFolder
on importFotos(aFolder, albumName, parentFolder)
set imageList to getImageList(aFolder)
if imageList is {} then return
set fotoAlbum to createFotoAlbum(albumName, parentFolder)
tell application "Photos"
with timeout of 600 seconds
import imageList into fotoAlbum skip check duplicates no
end timeout
end tell
end importFotos
on createFotoFolder(aFolder, folderName, parentFolder)
tell application "Photos"
if parentFolder is null then
make new folder named folderName
else
make new folder named folderName at parentFolder
end if
end tell
end createFotoFolder
on createFotoAlbum(albumName, parentFolder)
tell application "Photos"
if parentFolder is null then
make new album named albumName
else
make new album named albumName at parentFolder
end if
end tell
end createFotoAlbum
on getImageList(aFolder)
set extensionsList to {"jpg", "png", "tiff", "JPG", "jpeg", "gif", "JPEG", "PNG", "TIFF", "GIF", "MOV", "mov", "MP4", "mp4", "MPG", "mpg", "BMP", "bmp", "TIF", "tif", "AVI", "avi", "PSD", "psd", "ai", "AI", "orf", "ORF", "nef", "NEF", "crw", "CRW", "cr2", "CR2", "dng", "DNG", "PEF"}
tell application "Finder" to set theFiles to every file of aFolder whose name extension is in extensionsList
set imageList to {}
repeat with i from 1 to number of items in theFiles
set thisItem to item i of theFiles as alias
set the end of imageList to thisItem
end repeat
imageList
end getImageList
3) Нажмите кнопку «Компилировать» (Изображение молотка);
4) Запустите скрипт;
5) Выберите каталог, который хотели бы импортировать.
Скрипт поддерживает многоуровневые каталоги, поэтому даже если вы захотите добавить в «Фото» папку в папке, которая находится в папке другой папки, то все получится. Единственное, нужно будет привыкнуть к логике работы приложения «Фото», если вы им никогда раньше не пользовались. Например, фотографии, которые хранятся в самом верхнем уровне папки «Пример», собираются в отдельный альбом, который называется «Пример». Для наглядности то, как это выглядит в проводнике.
Как в приложении «Фото»:
Чтобы не потерять скрипт, сохраните его в удобном для себя месте. Для этого необходимо в приложении «Редактор скриптов» нажать «Файл» > «Экспортировать».