Автоматизируем работу в Mac OS X. Практическое руководство по использованию Automator Доступ к просмотру медийных файлов

Встроенный в Mac OS X инструмент для автоматизации “Automator” способен творить чудеса. Однако многие маководы игнорируют программу, считая ее бесполезной. Чтобы опровергнуть такие суждения, предлагаю пять потрясающих секретов Automator из Snow Leopard.

1. Универсальный доступ к медиатеке

Если вы часто работаете с пакетами iLife и iWork, то наверняка привыкли пользоваться встроенным медиабраузером – панелью, открывающей доступ к видео, фото и песням iTunes. Однако из-за отсутствия этой панели в других приложениях пользователи вынуждены отдельно открывать папку Видео, iPhoto или iTunes. Проблему решает Automator.

Зайдите на сайт Mac OS X Automation и загрузите скрипт

Например, для автоматизации резервного копирования файлов с рабочего стола в другую папку (например, на другом диске) укажите шаблон Напоминание iCal и создайте такую последовательность действий : Получить указанные объекты Find er, Получить содержимое папок и Копировать объекты Finder. (В разделе Файлы и папки в первой колонке). Перенесите исходную папку для бекапа на первое действие, Получить содержимое папок оставьте как есть, а в Копировать объекты Finder укажите место назначение файлов (папка Backup). Теперь, когда вы нажмете кнопку Запустить, то увидите, что все объекты с рабочего стола окажутся в папке Backup. (Для замены старых файлов в папке поставьте галочку “Заменять существующие файлы”).

Когда вы будете сохранять процесс, программа попросить дать название Напоминанию iCal, а затем запустит iCal с окном редактирования события. Здесь вы можете создать повторяющееся событие. Например каждый день в 4:00 будет производиться резервное копирование всех файлов с рабочего стола в другую папку.

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

4. Автоматический импорт и слайдшоу

Automator содержит плагин захвата изображений, который также невероятно полезный. Создайте в iPhoto новый альбом (Файл –> Новый альбом) и назовите его Фотографии дня. Откройте Automator, заведите новый процесс и выберите шаблон Плагин захвата изображений. В первом окне в разделе Библиотеки выберите объект Фотографии и создайте процесс по следующей схеме: Просмотреть фото, Импортировать файлы в iPhoto, Получить выбранные фотографии iPhoto, Воспроизвести слайд-шоу iPhoto.

В действии Импортировать файлы в iPhoto укажите Существующий альбом и Фотографии дня, а в Получить выбранные альбомы iPhoto из выпадающего меню выберите укажите Альбомы (что поменяет название действия на Получить выбранные альбомы). Сохраните процесс (Файл –> Сохранить) и назовите его Обзор и слайдшоу.

Теперь подключите фотоаппарат к Mac (это может быть iPhone или iPad). Откройте программу Захват изображений и в нижней части окна щелкните Обзор и слайдшоу. Выберите подходящие изображения и нажмите кнопку Импортировать. Теперь самое интересное. Через пару секунд появится окно Просмотр изображения с первой фотографией, где кнопками Отклонить и Одобрить нужно отфильтровать фотографии для импорта в iPhoto. Затем откроется iPhoto, добавит подтвержденные изображения в альбом Фотографии дня и запустит слайдшоу!

5. Текст из PDF

Если вы ищите простой способ извлечь текст из файлов PDF, используйте Automator. Создайте новый процесс Automator и в окне шаблонов выберите Программа. Заведите процесс со следующими действиями: Получить выбранные объекты из Finder (раздел Файлы и папки) и Извлечь текст PDF (раздел PDF-файлы). Чтобы текст выглядел лучше, на шаге Извлечь текст PDF переключитесь на Форматированный текст. Укажите место хранения файла, например папку “PDF to RTF” из выпадающего меню Сохранить выход в.

Теперь сохраните приложение Automator на рабочий стол. Когда будете готовы к конвертации, перетяните любой документ PDF на иконку созданного приложения. После этого Automator достанет весь текст из PDF и поместит его в новый текстовый документ внутри указанной папки.

На каждом компьютере Mac по умолчанию установлено приложение Automator. С использованием специального пользовательского интерфейса эта недооцененная программа позволяет автоматизировать монотонные задачи и ускорить работу. Вот некоторые рабочие процессы, которые можно создавать в Automator.

Поворот изображений

Один из самых неприятных аспектов цифровой фотографии это управление накопившимися файлами. А если вы используете камеру без гироскопа, вы в конечном итоге можете иметь сотни фотографий, которые перевернуты в неверном направлении. Конечно, вы можете просмотреть и перевернуть их вручную, но этот процесс можно довольно просто автоматизировать.
Сначала добавьте в окно рабочего процесса действие «Запросить объекты Finder», затем кликните флажок множественного выбора. Если вы хотите оставить оригинальные версии в первоначальном виде, вы можете добавить действие «Копировать объекты Finder». Теперь добавьте из списка «Фотографии» выберите действие «Поворот изображения» и сохраните рабочий процесс. Если вы не знаете, в какую сторону поворачивать изображения, вы можете сохранить две версии - одну для левого поворота и одну для правого.

Групповое переименование файлов

Если вам приходится работать с файлами из нескольких различных источников, их имена зачастую совершенно непонятны. Обычно это не представляет большой проблемы, но в некоторых случаях требуется тщательное соблюдение классификации. Вместо того, чтобы вручную переименовывать каждый файл, вы можете поручить своему Mac сделать эту работу за вас
Добавьте действие «Запросить объекты Finder», переключитесь на множественный выбор, и решите, вам переименовывать оригинальные файлы или создавать копии. Если вам нужно сделать копии, добавьте действие «Копировать объекты Finder». Теперь добавьте «Переименовать объекты Finder». После этого используйте меню конфигурации для настройки схемы переименования по вашему усмотрению. Можно выбрать действие «Сделать последовательными», а также «Добавить дату и время» (включено автоматически).

Преобразование текста в речь

Встроенный в OS X движок преобразования текста в речь может быть очень полезен для многих задач, и Automator позволяет быстро создать аудиофайл на основе текстового источника и сохранить его на диск в формате AIFF.
Существует много способов добавить текст в рабочий процесс, но наиболее простым является вставка текста в окно TextEdit, а затем добавление действия «Получить содержимое документа TextEdit». Затем добавьте «Текст в аудиофайл», выберите, какой голос вы хотите использовать и назовите файл.

Экстренная блокировка

Если вы живете или работаете в окружении людей, рано или поздно ваш Mac останется без присмотра. Чтобы защитить компьютер от нежелательного доступа, вы можете просто закрыть все приложения и выключить систему, но весь этот процесс можно упростить до одного клика.
Начните с добавления действия «Завершить все программы». Если вы не хотите иметь дело с дополнительными напоминаниями, отключите флажок «Запрашивать сохранение изменений». Но при этом есть риск потерять несохраненные данные, поэтому здесь нужно быть осторожным. Затем добавьте действие отключения звука компьютера. После этого нужно добавить «Сделать Скринсейвер». При условии, что ранее вы настроили Mac требовать пароль в режиме сна (Системные настройки> Безопасность>Общие), ваш Mac будет заблокирована с помощью одного клика.

Написание скриптов

Без сомнения самой мощной функцией Automator является возможность запускать скрипты Apple и Java в рабочий процесс. Скрипты могут быть настолько сложными, насколько вам нужно и позволяют значительно расширить стандартную функциональность Automator.

Для запуска скриптов в рабочем процессе нужно просто добавить действие «Запустить JavaScript», «Запустить AppleScript» или «Запустить Shell-скрипт». Варианты использования практически безграничны, но вот один из примеров использования скрипта в рабочем процессе.
Этот скрипт автоматически изменяет размер окна Safari, что очень удобно для тестирования новых макетов веб-сайтов.

Заключение

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

Современные операционные системы предлагают довольно большой набор различных встроенных инструментов и настроек, позволяющих более гибко организовать работу, избегая различных рутинных операций. Но все равно найдется еще тысяча мелких действий, которые не были учтены разработчиками. И тут на помощь нам приходят множественные скриптовые языки, в которых зачастую проблема решается на раз-два-три. Но сегодня мы рассмотрим еще одно решение с несколько иным подходом, на случай если, например, в программе не предусмотрен консольный режим. Этим решением является программа, входящая в состав стандартной поставки OS X под названием Automator.

Автоматор позволяет легко и быстро создавать workflow - по сути, скрипты, которые могут прекрасно интегрироваться с операционной системой. Отличие от традиционных bash-, Python-, Lua- и прочих скриптов в том, что вместо традиционного подхода с написанием кода ты в графическом виде собираешь скрипт из маленьких кирпичиков - событий и действий. В стандартной библиотеке этих базовых компонентов достаточно для различных случаев жизни, а если необходимо, можно ее существенно расширить, установив пакеты дополнений. Впрочем, обо всем по порядку.

При создании нового скрипта автоматор спросит о его типе. На выбор предлагается:

  • Workflow - стандартный файл, запускаемый либо из GUI автоматора, либо через консоль командой automator.
  • Application - воркфлоу, оформленный в виде отдельного приложения. Его можно запустить, не заходя в GUI.
  • Service - специальный тип, позволяющий запускать скрипты в контексте приложений. После создания они будут доступны в пункте меню Services.
  • Print Plugin - эти воркфлоу будут доступны в диалоге выбора принтера. Они принимают на вход PDF-версию печатаемого документа.
  • Folder Action - привязываются к определенной папке и запускаются при добавлении файлов в эту папку.
  • Calendar Alarm - скрипты запускаются по определенному событию в календаре.
  • Image Capture Plugin - интеграция с сервисом захвата изображения. Workflow получает на вход изображение.

В статье мы рассмотрим несколько довольно интересных юз-кейсов, которые могут пригодиться любому пользователю OS Х или подтолкнут читателей на написание новых рецептов.

Объединение нескольких PDF-файлов

В стандартной библиотеке автоматора есть ряд действий с PDF-документами. Что ж, оформим небольшой воркфлоу, который позволит в будущем объединять несколько отдельных файлов в один.

Оформим его в виде отдельного приложения, выбрав соответствующий тип в первом диалоге автоматора. Далее последовательно перетащим в наш скрипт такие действия: Ask for Finder Items - диалог выбора файлов, Combine PDF Pages - собственно действие компоновки в один файл и Open Finder Items - действие, открывающее сохраненный PDF-файл в дефолтном ридере.

Вот и все, можно запустить скрипт, нажав на кнопку Run в правом верхнем углу окна автоматора.

Шаринг скриншотов

Этот рецепт позволит тебе автоматом синхронизировать и расшаривать скриншоты, которые ты делаешь. В OS X уже встроены механизмы снятия скриншота (сочетания клавиш <⌘ + ⇧ + 3> для снятия снимка со всего экрана и <⌘ + ⇧ + 4> для снимка области экрана или окна приложения). Также функции синхронизации присутствуют во многих облачных хранилищах, например Dropbox. Поэтому нам остается только немного их подружить.

Создадим новый воркфлоу с типом Folder Action. Необходимо будет выбрать папку, в которую макось сохраняет скриншоты, по умолчанию это ~/Desktop. Как только в папку будет добавляться какой-либо файл, будет вызываться наш воркфлоу, поэтому создадим фильтр, чтобы исключить расшаривание остальных файлов. Для этого добавим действие Filter Finder Items. По умолчанию все снимаемые скриншоты называются следующим образом «Screen Shot [дата] at [время].png», поэтому зададим в фильтре поля: Name begins with “Screen Shot”, а также: Kind is image. Если необходимо, то ты можешь еще добавить другие параметры, например дату создания, чтобы не трогать старые скриншоты, находящиеся на рабочем столе.

Теперь добавим действие Move Finder Items, которое будет перемещать картинки в соответствующую директорию - ~/Dropbox/Public/. И теперь добавим небольшой хинт, который будет копировать URL расшаренного скриншота в буфер обмена. Для этого добавим действие Run Shell Script и добавим в него следующее содержание:

Combined="https://dl.dropbox.com/u/XXXXXXX/"$(basename $1) final=`echo $combined | sed "s/ /%20/g"` echo -ne ${final} | pbcopy afplay /System/Library/Sounds/Hero.aiff

Заметь, что вместо тебе нужно будет подставить свой идентификатор из семи цифр в дропбоксе. Как его найти? Самый простой вариант - зайти залогиненным на сайт дропбокса и в яваскриптовой консоли браузера набрать:

Console.log(Constants.uid)

Опционально можно еще добавить нотификэйшн. Тут возможно два варианта: либо использовать действие, которое идет вместе с Growl’ом, либо скачать и установить бесплатное действие, позволяющее показывать уведомления в теперь уже стандартном центре уведомлений OS X (is.gd/mgqFro).

Готово. Теперь сохраняем наш воркфлоу (автоматор положит его в ~/Library/Workflows/Applications/Folder Actions/) и наслаждаемся работой.

Do Not Disturb по календарю

В последней версии операционки от Apple был представлен новый центр сообщений с возможностью отключения всплывающих аллертов до определенного времени. Эта функция получила название Do Not Disturb. Она позволяет до конца текущего дня отключить все отвлекающие факторы. Но что, если ты хочешь, чтобы эта функция включалась по расписанию? Этот воркфлоу придет тебе на помощь.

Для начала создадим новый Calendar Workflow, так как мы хотим уже потом в календаре настроить расписание запуска нашего скрипта.

Добавим действие Run AppleScript и в поле скрипта заменим следующим содержанием:

Do shell script "defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist doNotDisturb -boolean true" set theDate to quoted form of (do shell script "date +\"%Y-%m-%d %I:%M:%S +0000\"") do shell script "defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist doNotDisturbDate -date " & theDate do shell script "killall NotificationCenter"

Этот скрипт пишет в настройки центра уведомлений о включении DND, а потом перезапускает его, чтобы новые настройки возымели эффект.

Готово, теперь сохраняем наш воркфлоу. Автоматор сам поместит его в нужное место на диске для данного типа, ~/Library/Workflows/Applications/Calendar, запустит приложение Calendar и создаст в нем событие, в котором уже можно будет настроить время запуска, периодичность и так далее. Сохраняем событие и наслаждаемся тишиной и спокойствием в нужные часы.

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

Do shell script "defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist doNotDisturb -boolean false" try do shell script "defaults delete ~/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist doNotDisturbDate" end try do shell script "killall NotificationCenter"

После этого также необходимо будет настроить расписание его включения.

PopClip и Alfred

Помимо автоматора, пользователям OS X доступны и другие средства автоматизации. Одно из них - PopClip, небольшое приложение, позволяющее производить различные манипуляции с выделенным текстом, второе - Alfred, приложение, функциональностью напоминающее стандартный Spotlight, с кучей различных дополнений, позволяющих переключать музыку в iTunes, выдавать результат поиска в Wolfram Alpha или писать простенький To-Do-список.

PopClip - утилита платная, но стоит всего 4,99 доллара. Впрочем, попробовать ее можно бесплатно, с ограничением на 150 запусков. После установки в системе и запуска программы, при выделении текста будет появляться небольшой pop-up, позволяющий произвести различные операции с выделением, подобно тому как это происходит с редактируемым текстом в iOS. По умолчанию это поиск выделенного текста в Google, стандартные операции: вырезать, копировать, вставить, а также, если было выделено одно слово, поиск его значения в словаре.

Но вся мощь PopClip кроется в множественных и качественных его дополнениях (pilotmoon.com/popclip/extensions). Там есть и переводы выделения в верхний регистр, и шаринг ссылки через Droplr, и создание твита. Кроме того, без лишних сложностей ты можешь расширить библиотеку расширений чем-то самописным, набросав скрипт на любимом ЯП и оформив его в виде экстеншна. Подробности по оформлению и примеры можно найти в гитхабе проекта github.com .

Alfred

Альфред доступен в двух вариантах: простом и расширенном. Первый распространяется бесплатно, второй можно приобрести за 15 фунтов стерлингов. Программа реализована в виде небольшого всплывающего окна с текстовым поисковым полем, появляющегося по нажатию хоткея (по умолчанию - ). По мере ввода символов в текстовое поле альфред, подобно Spotify, подбирает релевантные варианты (поиск приложений, файлов, подсчет математического выражения…). Powerpack добавляет целый ряд полезных возможностей, позволяющих, например, проиграть найденный альбом (если по запросу были найдены музыкальные треки) в iTunes, отправить найденные файлы по e-mail, а также подключить различные экстеншны, написанные на shell, AppleScript, а также workflow автоматора. На сайте разработчиков есть специальный раздел посвященный дополнениям support.alfredapp.com .

Заключение

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

Так получилось, что при всей своей направленности на людей далеких от техники, в OSX имеется абсолютно гиковый инструмент – Automator, который, незаслуженно, обходит стороной большая часть маководов. Многие слышали о его невиданных возможностях, но с какой стороны подойти и как его использовать?

Сегодня обсудим основы, в следующих материалах пойдем дальше. Сразу хочу предупредить, мы разберем базовые принципы работы с Automator, решим несколько повседневных задач, но не коснемся Apple Script. Причина – Apple Script это язык программирования со своим синтаксисом, логикой, структурой. Пытаться объяснить азы, которые позволят в будущем создавать что-то своё, а не копировать без понимания, достаточно сложно. Поэтому не будем никого обманывать, а покажем, что можно делать, не имея этих знаний.

Я не буду описывать, что означает каждый из пунктов меню на скриншоте ниже, просто потыкайте по ним мышкой и почитайте описание.

Построим обучение от задач. Формулируем задачу, решаем её, фиксируем результат, переходим к следующей.

1. Просмотр буфера обмена

Периодически возникает необходимость просмотреть содержимое буфера обмена. Скопировал что-то важное, но тебя отвлекли, а через пару часов ты забыл и случайно заменил важную информацию в буфере на какую-нибудь ссылку.

Что требуется сделать. Логично предположить, что запускать просмотр содержимого буфера обмена мы будем через горячие клавиши. Соответственно, нам нужно создать службу. Выбираем соответствующий пункт при создании нового документа.

  1. Затем нам нужно прочесть содержимое буфера обмена, для этого в левой части меню выбираем пункт Утилиты → Получить содержимое буфера обмена , который перетаскиваем на свободное место в правой части окна.
  2. После этого содержимое буфера требуется присвоить переменной, для этого вытаскиваем на рабочую зону пункт Установить значение переменной , кликаем на неё и задаем ей имя, произвольное. В примере, я назвал её просто: Буфер .
  3. Теперь нужно вывести уведомление с нашим текстом, для этого вытаскиваем пункт меню Показать уведомление , в заголовок пишем что угодно, главное чтобы Вы понимали что это, а в тело вставляем переменную из п.2. Её можно просто перетащить из нижней части панели, кликнув на иконку в виде перевернутой кнопки Пауза.

После этого сохраняем полученный документ, имя произвольное. И переходим в меню системных настроек  → Системные настройки → Клавиатура → Сочетание клавиш , выбираем раздел Службы и ищем службу, которую мы только что создали.

Ей потребуется назначить комбинацию клавиш. Предлагаю Ctrl + Command + =. Для назначения необходимо кликнуть по слову добавить , правее имени службы, слово добавить заменится на пустой прямоугольник, после чего нажать нужную комбинацию. После этого закрываем настройки, находим любой фрагмент, копируем его, нажимаем Ctrl + Command + = и наслаждаемся результатом.

Все ваши службы всегда присутствуют в верхнем меню [Название приложения] → Службы и их запуск не должен вызывать трудностей.

Я показал только один пример с уведомлениями, но используйте их чаще, например, для оповещения о статусе выполненных работ от других автоматоров.

2. Умная папка

Часто встает задача быстро изменить некоторые данные – например, сконвертировать изображения из PNG → JPG. Для этого в Automator есть действие папки.

Работает это следующим образом. Сначала указываем папку из которой будут браться данные, затем папку, куда они будут копироваться. Наконец, обозначаем действие, в нашем случае Фото → Изменить формат изображения .

После чего копируем файлы с расширением PNG в первую папку и находим документы с расширением JPG во второй. Попутно можно изменять размер изображения.

Задание для самопроверки:

  • поместите в процесс уведомление, которое будет сообщать информацию о том, что задача выполнена;
  • попробуйте сделать так, чтобы файлы из исходной папки удалялись автоматически после завершения операции;

Заключение

Сегодня мы рассмотрели самые базовые возможности Automator. Просто посмотрели на основы. Думаю, что тема интересная, но рассматривать решение моих задач читателям может быть недостаточно увлекательно.

Поступим следующим образом: оставляйте в комментариях свои пожелания (потребности), а я к следующему выпуску попробую дать ответ, как это сделать. Или поделитесь сами, как Automator помогает вам в повседневной жизни!