Как Автоматически Загружать Скриншоты На Ftp В Os X Или История О Том, Как Мы Не Ищем Легких Путей

Всем привет! Как известно, программисты — это люди, которые не ищут легких путей.

Недавно у меня возникла необходимость автоматически загружать на свой ftp (свой и никакой другой) свежесделанные скриншоты.

Долгие поиски в Интернете программного обеспечения, решающего проблему для OS X, привели меня в легкую депрессию.

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

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

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

Ниже — теория, практика и много фотографий.

Автомататор - Эта обертка для шелл-скрипта в *nix от Apple позволяет автоматизировать всё на свете, абсолютно любое движение пользователя.

Когда-то я использовал его для сборки своего дипломного проекта на Node-Webkit, автоматизатор позволил мне пересобрать проект, нажав комбинацию горячих клавиш, упаковать его в архив *.

nw и сразу запустить.



Немного теории
В Automator есть несколько типов скриптов, которые вы можете создавать:

Как автоматически загружать скриншоты на FTP в OS X или история о том, как мы не ищем легких путей

1. Рабочий процесс — Простой исходный код действия, которое мы запрограммируем.

2. Приложение – Тот же рабочий процесс, только его можно запустить и оно будет работать автономно в вашей OS X. 3. Сервис - Все то же самое, только скрипт будет доступен во вкладке «Сервис» тех программ, которые вы выберете при создании скрипта (на эту штуку потом можно будет назначить горячие клавиши) 4. Плагин печати — рабочий процесс, который будет доступен в окне печати.

5. Folder Action — хук, который будет запущен, как только папка обновится (добавится или удалит файл) 6. Celendar Alarm — тут и говорить нечего, итак понятно: создаем рабочий процесс, который запускается по событию в календаре (фактически задача cron) 7. Плагин Image Capture - рабочий процесс, который доступен в окне получения изображения с камеры (принимает на вход захваченное изображение)

Теперь немного практики
Понятно, что нам нужно поймать действие создания скриншота и сразу после него загрузить скриншот на сервер, поэтому наш выбор типа скрипта — Folder Action. По умолчанию все скриншоты создаются в папке рабочего стола и понятно, что прикрепить хук для загрузки файла по FTP на рабочий стол нельзя, чтобы не мусорить сервер, поэтому придется немного перенастроить стандартное создание скриншотов.

полезность:

  1. Открыть терминал
  2. Создайте папку скриншотов в папке ~/Pictures и отправьте туда все скриншоты, которые создаст утилита:

    mkdir ~/Pictures/screenshots && defaults write com.apple.screencapture location ~/Pictures/screenshots

Теперь наши скриншоты будут создаваться в этой папке.

Зайдите в сам Automator и сделайте следующее:

  1. Создать действие Finder
  2. В открытом окне мы видим меню с набором действий и рабочей областью.

    Нам понадобится всего 2 действия: «Запустить Shell Script» и «Отобразить уведомление», они находятся в разделе «Утилиты».

    Давайте добавим их, просто перетаскивая.



    Как автоматически загружать скриншоты на FTP в OS X или история о том, как мы не ищем легких путей

  3. В селекторе в самом верху рабочей области выбираем папку, которую будем мониторить

    Как автоматически загружать скриншоты на FTP в OS X или история о том, как мы не ищем легких путей

  4. В блоке «Выполнить сценарий оболочки» установите «Передавать ввод: в качестве аргумента».



    Как автоматически загружать скриншоты на FTP в OS X или история о том, как мы не ищем легких путей

  5. В самом блоке «Run Shell Script» нужно написать sh-скрипт, который будет загружать файлы на сервер; Перечислять здесь не буду, поскольку тема статьи другая.

    Вот ссылка на github , где его взять, читайте комментарии, там показано, как настроить под свой ftp-сервер.

    Скрипт загрузит новый скриншот и скопирует URL-адрес его в буфер обмена.

  6. В блоке «Показать уведомление» можно написать что угодно.

    Эта функция отобразит вам стандартное уведомление с вашим текстом.



    Как автоматически загружать скриншоты на FTP в OS X или история о том, как мы не ищем легких путей

  7. Сохранять
Это не все.

Теперь нам нужно прикрепить хук к папке, для этого нам нужно щелкнуть правой кнопкой мыши по папке, выбрать Сервис-> Настройка действий с папкой.

и выбрать скрипт, который мы только что создали.



Как автоматически загружать скриншоты на FTP в OS X или история о том, как мы не ищем легких путей



Как автоматически загружать скриншоты на FTP в OS X или история о том, как мы не ищем легких путей

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

И все, мы делаем скриншот, как делали это раньше, и он автоматически будет загружен на ваш ftp-сервер.

ПС Я хочу знать, нужны ли еще статьи о том, что и как можно делать с помощью Apple Automator и о других функциях системы OS X, о которых мало говорят? Теги: #Сделай сам или Сделай сам #ftp #скрипты оболочки #os x #скриншоты #os x советы #applescript

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.