Automator, часть 1

Automator_Icon.pngРаньше, когда я пользовался Windows, я часто помогал родителям работать с документами и отчетами в Экселе. Иногда задачи сводились к простому вводу данных, а иногда с этими данными нужно было что-то сделать: например, добавить к содержимому ячеек столбца B номер из соответствующей ячейки столбца D. Разумеется, родители начинали делать это вручную. Я, завидев подобные действия, сразу же отгонял всех от компьютера и обрабатывал все данные за две минуты парочкой формул или небольшим скриптом. После этого обычно следовала пятиминутная лекция на тему того, что компьютер — он на то и компьютер, чтобы подобные проблемы решать автоматически — думать он за нас пока не научился, но рутинные задачи выполняет исправно, только скажи. Хитрость, разумеется, заключается в том, как сказать.

Однако не Экселем единым сыт компьютерный пользователь. Мы каждый день работаем с множеством программ для выполнения самых разных задач, и довольно часто задачи эти повторяются изо дня в день. Сколько раз на дню вам приходится уменьшать изображение для того, чтобы послать его другу? Набирать практически одно и то же почтовое сообщение? Об автоматизации системных программ в Windows мне известно не было (что не значит, что не существует какой-нибудь программы, решающей проблему).
Что же насчет OS X?

Доступность автоматизации

Одной из философий фирмы Apple является доступность компьютера пользователю с любым уровнем подготовки. Автоматизация действий — не исключение. Для этого в Apple разработали скриптовый язык AppleScript, особенность которого в том, что его синтаксис очень похож на синтаксис английского языка. Также в OS X встроена программа Automator (Автоматор), которая формально является интерфейсом к AppleScript, позволяющим создавать скрипты комбинирования различных действий. Автоматор будет понятен любому пользователю, даже если тот за версту не подходил к программированию. Итак, что же представляет из себя Автоматор?

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

automator-1.png

Левую часть окна занимает библиотека действий, которые предоставляются непосредственно приложениями. Действия, предоставляемые системными приложениями, сгруппированы в соответствующие категории; действия, предоставляемые сторонними приложениями находятся в категории Other.

Входные и выходные данные

Каждое действие может иметь входные и выходные данные (Input и Result). Выберите действие, и в нижней части библиотеки появится его описание: входные и выходные данные, что еще необходимо для действия, а также какие у этого действия могут быть непредвиденные последствия. «Написание» скрипта сводится к перетаскиванию действий в правую часть окна: выполнение скрипта происходит сверху вниз, и выходные данные предыдущего действия служат входными для следующего. Прежде чем сохранять скрипт, можно посмотреть, как он работает. Для этого нужно нажать на кнопку Play.

К примеру, вот простенький скрипт, скачивающий полноразмерные изображения с чьего-нибудь Flickr в папку Pictures.

Picture 3.png

  • Get Specified URLs просто возвращает заданные заранее ссылки (у нас задана одна ссылка на RSS-поток, взятая с Flickr)
  • Get Image URLs From Articles возвращает ссылки на изображения из постов входящего RSS-потока
  • Download URLs скачивает файлы в папку Pictures

Красота! И понадобится нам на создание этого скрипта меньше минуты. Пройдитесь беглым взглядом по списку действий: я почти уверен, что вы сможете найти что-то полезное для себя.

Сохранение скрипта

Однако не все скрипты одноразовые, как вышеописанный. Не запускать же нам Автоматор каждый раз, когда мы хотим выполнить скрипт. Разумеется нет: когда вы сохраняете скрипт методом Save As…, по умолчанию он сохраняется в виде файла в формате Автоматора (.workflow), который потом можно открыть и поправить.

Но скрипт можно сохранить как программу, которую потом можно будет запускать точно так же, как и любую другую программу. Для этого нужно выбрать Application в качестве формата при сохранении. Кроме того, если вы выберите Save As Plug-in, скрипт может быть сохранен как:

  • Plugin for Finder — cкрипт будет доступен из контекстного меню любого окна Finder через More → Automator
  • Folder Actions — cкрипт будет прикреплен к заданной папке и будет запускаться при каждом изменении содержимого папки. Полезно для создания уменьшенных копий изображений.
  • iCal Alarm — cкрипт будет сохранен как приложение; в iCal автоматически создастся событие, выполняющее скрипт в определенное время.
  • Image Capture — не до конца понятно, что конкретно происходит (у меня нет устройства, поддерживающего удаленное управление, поэтому попробовать не могу), но скорее всего скрипт будет просто доступен в программе Image Capture и будет запущен с только что снятым изображением в качестве входных данных.
  • Print Workflow — скрипт будет доступен в меню PDF в системном окне печати. При выборе этого скрипта система сохранит печатаемый документ в PDF и запустит скрипт с документом в качестве входных данных.
  • Script Menu — скрипт будет доступен из меню скриптов, значок которого появится в тулбаре (слева от системного времени, выглядит как манускрипт).

Подумайте, какие действия вы повторяете очень часто? Может быть, Автоматор сможет выполнять их за вас?

В следующей статье я расскажу о продвинутом использовании Автоматора и начну цикл статьй об AppleScript.