Mac Photos

Если вы из тех людей, кто самостоятельно загружал обложки для музыкальных альбомов в iTunes и вручную прописывал тэги, чтобы музыкальная коллекция на компьютере выглядела красиво и упорядочено, то следующий наш совет придется вам по душе.

Начиная с версии macOS 10.10.3 в системе появилось новое стандартное приложение «Фото», которое служит центральным хабом для импорта, хранения и работы с изображениями. Оно позволяет просматривать фотографии, создавать альбомы по людям, времени и геолокации, работать с фотографиями из облака iCloud и много другое.

Проблема в том, что чаще всего люди хранят свои фотографии на жестком диске компьютера, сортируя их по папкам: фото с отдыха, фото со свадьбы и так далее. Приложение «Фото» не позволяет напрямую импортировать такие папки. Если просто импортировать свой фотоархив, то в приложении они добавятся в один общий альбом, который придется потом сортировать по событиям заново.

 Mac Photos

Mac Photos

К счастью, есть выход и стандартные инструменты в 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)    Запустите скрипт;

Mac Photos

5)    Выберите каталог, который хотели бы импортировать.


Скрипт поддерживает многоуровневые каталоги, поэтому даже если вы захотите добавить в «Фото» папку в папке, которая находится в папке другой папки, то все получится. Единственное, нужно будет привыкнуть к логике работы приложения «Фото», если вы им никогда раньше не пользовались. Например, фотографии, которые хранятся в самом верхнем уровне папки «Пример», собираются в отдельный альбом, который называется «Пример». Для наглядности то, как это выглядит в проводнике.

Mac Photos

Как в приложении «Фото»:

Mac Photos  


Mac Photos

Чтобы не потерять скрипт, сохраните его в удобном для себя месте. Для этого необходимо в приложении «Редактор скриптов» нажать «Файл» > «Экспортировать».