Вебмастеру:
Добавьте разнообразия на страницы Вашего сайта при помощи
легко настраиваемого под Ваш дизайн новостного информера
 
лента новостей

 

идет обновление информации.

 

 
ТОП месяца

 

идет обновление информации.


 
поиск

 


 

:: расширенный поиск ::

 

 
меню 
 
интересное в сети

 

 

 

 

 

 

 
наука и техника
26/02/2016 15:01

Познай мощь Automator. Работаем с БД

Познай мощь Automator. Работаем с БД

С помощью встроенных средств OS X.


Продолжаем осваивать замечательное приложение Automator. Это уже четвертая статья цикла. А вот три предыдущие:







Эти материалы были «на разогрев», а теперь мы плавно приступаем к познанию истинной мощи Automator.


Чтобы делать реально полезные автоматизации, а не изобретать велосипеды наподобие скрипта для склевания pdf, бывает необходимо использовать внешние файлы с данными: адресные книги, таблицы с информацией о товарах, списки ссылок для парсинга и т. п.


Удобно хранить такую информацию в обычной реляционной базе данных и считывать оттуда SQL-запросами. В этом материале мы научимся делать это с помощью Automator.


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


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


Инструкция. Создаем базу данных SQLlite


1. Запускаем Программы -> Утилиты -> Терминал:


2. Создаем и открываем новую базу данных. Набираем:



sqllite3 my_contacts


Нажимаем Enter:



3. Создаем новую таблицу. Набираем:



create table problem_clients(first name text, surname text, email text);


Нажимаем Enter:



4. Добавляем в таблицу записи. Набираем:



insert into problem_clients values(“Иван”,”Иванов”,”[email protected]”),(“Петр”,”Петров”,”[email protected]”),(“Сидор”,”Сидорович”,”[email protected]”),(“Денис”,”Денисов”,”[email protected]”);


Нажимаем Enter:



5. Просматриваем записи в таблице. Набираем:



select * from problem_clients;


Нажимаем Enter:



Готовый файл с базой данных хранится в корневом каталоге активного пользователя:



Его мы будем использовать для нашей автоматизации.


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


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


Это понимание поможет вам организовать использование БД в собственных автоматизациях.


Инструкция. Как в Automator использовать данные из базы SQLlite


1. Открываем Программы->Automator и выбираем пункт меню Файл->Новый:



2. Перетаскиваем на основное поле действие Получить указанные объекты Finder:



3. Нажимаем на кнопку Добавить и выбираем файл с нашей базой:



4. Перетаскиваем на основное поле действие Выполнить SQL и вводим SQL-запрос для выбора email-адресов из базы:



select email from problem_clients;



5. Перетаскиваем на основное поле действие Получить значение переменной и в поле для указания имени переменной набираем mail_body (вы можете выбрать другое имя):


6. Перетаскиваем на основное поле действие Новое сообщение Почты. Указываем адрес получателя и тему письма:



7. Перетаскиваем на основное поле действие Отправка исходящих сообщений:



8. Запускаем скрипт и проверяем, отправилось ли письмо:



Для начала достаточно этой простой инструкции. К теме использования баз данных для автоматизаций мы еще не раз вернемся, когда будем говорить о написании скриптов для OS X на JavaScript, Apple Script и Shell Script.


Приложение. Отвечаем на вопросы читателей


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



К сожалению, дату создания файла скриптами не поправишь (в справочнике это свойство описано как read only). А вот дату изменения можно ставить какую угодно. Предполагаю, что дату создания Вам нужно знать для фильтрации и сортировки картинок в поиске. И Вы с тем же успехом сможете использовать для этого дату изменения.


Вот один из вариантов решения проблемы:


1. Открываем Программы->Утилиты->Редактор скриптов. Выбираем язык JavaScript (по умолчанию выбран Apple Script).


И вставляем следующий код:


Finder = Application("Finder"); fileArray = new Array(); // Здесь должен быть путь к папке с фотографиями fileArray = Finder.startupDisk.folders.byName("Users").folders.byName("irina").folders.byName("cards").documentFiles; // Перебираем все фотографии for(i=0;iРедактор скриптов. Выбираем язык JavaScript (по умолчанию выбран Apple Script).


И вставляем следующий код:


Finder = Application("Finder"); // Надо будет посмотреть через консоль какой id у флешки твоей и заменить. 0 - это Macintosh HD fleshka=Finder.disks[0]; myFilms = new Array(); // Тут надо адрес папки с фильмами записать myFilms=Finder.startupDisk.folders.byName("Users").folders.byName("irina").folders.byName("new_cards").documentFiles(); // Массив считается с единицы, так как 0 - DS_Store) for(i=1;imyFilms[i].size()) { Finder.move(lastFilm, {to: fleshka}); // Обновляем массив, чтобы цикл не проходил по несуществующим элементам myFilms=Finder.startupDisk.folders.byName("Users").folders.byName("irina").folders.byName("new_cards").documentFiles(); } }

Вот и все на сегодня. Продолжение следует. Если у вас есть какие-то задачи в OS X, которые вы хотите автоматизировать, пишите о них в комментариях, пожалуйста.

Хочешь получать от нас новости Apple? Да | Нет

 

Оригинал (на 26/02/2016): newsone.ws

 

В случае обнаружения неточностей или ошибок
просим Вас сообщить об этом по адресу

 

 

 

 

 

Представлена интерактивная карта всех сражений в истории человечества

Представлена интерактивная карта всех сражений в истории человечества

Разработчики веб—платформы анализа и визуализации данных Nodegoat представили интерактивную карту всех битв в истории человечества. Источником информации для Nodegoat стали записи о 8049...

 

Ученые записали звуки миграции миллиардов подводных существ

Ученые записали звуки миграции миллиардов подводных существ

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

 

Продажи iPad упали до уровня 2011 года

Продажи iPad упали до уровня 2011 года

Но Apple все равно мировой лидер. В первом квартале 2016 года Apple продаст порядка 9,8 млн планшетов iPad, считают аналитики Di...

 

Дональд Трамп требует бойкота Apple со своего iPhone

Дональд Трамп требует бойкота Apple со своего iPhone

Нет границ у лицемерия. Кандидат в президенты США от Республиканской партии Дональд Трамп продолжает радовать своей непосредстве...

 

Такого у нас не купишь

Такого у нас не купишь

7 компьютерных штук, которые не продают в России. Российский рынок электроники не самый развитый в мире, новинки появляются не с...

 

Почему Apple стоит запустить программу кредитования для Apple Watch 2

Почему Apple стоит запустить программу кредитования для Apple Watch 2

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

 

 

 

 

:: все новости из этой категории на 26/02/2016 ::

 

 

последняя новость  
 

идет обновление информации.

архив
 
 
2006 |  2007 |  2008 |  2009
2010 |  2011 |  2012 |  2013
2014 |  201520162017
2018 |  2019 |  2020 |  2021
2022 |  2023 |  2024 | 

Февраль, 2016
Пн Вт Ср Чт Пт Сб Вск
1234567
891011121314
15161718192021
22232425262728
29      

 

опрос  
 

 

Для Вас фаст-фуд - это:

 

Удобный способ быстро перекусить

 

Дешевая еда на каждый день

 

Отрава для человеческого желудка

 

Понятия не имею, что это такое

 

 

 

:: результаты опроса ::