У вас есть проблемы напоминаний в MLO-Android? Ответьте: Да/Нет.

Использование командной строки MLO

Поделитесь с другими, как Вы используете MLO (шаблоны, система управления задачами и т.д.). Нашли способ настроить MLO особым образом? Расскажите! Нам интересно!
Автор темы

LTrack
Сообщения: 20
Зарегистрирован: май 2013
Поблагодарили: 1 раз

Re: Использование командной строки MLO

Сообщение LTrack » 12 янв 2016, 17:53

WaRoX писал(а):Особенно с Youtube автоматизация понравилась - надо будет повторить.

Чтобы не изобретать велосипед, предлагаю готовое задание nncron.

Код: Выделить всё

#( post_download_youtube
\ Ждем появления файла в контрольной папке
WatchFile: "D:\YouTube\*.???"
Action:
\ Пауза, чтобы файл успел полностью сохраниться при завершении закачки
PAUSE: 5000
\ Цикл по всем файлам в контрольной папке, т.к. роликов может быть сразу более одного
FOR-FILES: "D:\YouTube\*.*"
\ В переменную %$1% записываем имя файла без расширения
RE-MATCH: "%FOUND-FILENAME%" "/(.*)\.(\w{3})/i"
IF
\ Переносим файл в папку с торрентами
   FILE-MOVE: "D:\YouTube\%FOUND-FILENAME%" "D:\veiw\%FOUND-FILENAME%"
\ Определяем длительность медиафайла и пишем его в текстовый файл
   SWHide
   START-APPW: "C:\MyData\bat\_mediainfo.bat" "D:\veiw\%FOUND-FILENAME%"
\ Делаем паузу, чтобы успел отработать bat-файл (не помню почему, ведь START-APPW предполагает ожидание завершения)
\   PAUSE: 5000
\ Добавляем задание в MLO
   START-APP: "C:\Program Files\MyLifeOrganized.net\MLO4\mlo.exe" "C:\MyData\MLO\MyMLO.ml" -task={079B6FF5-4B12-42E0-ADC1-8C03D1552284} -AddSubtask="%$1% сегодня -т%FILE: C:\MyData\bat\log\mi.txt% -взYoutube -в2 -у2 -ф!Смотреть @ !Смотреть; $Компьютер; %%%%Youtube" -Parse
\ Добавляем файл в плей-лист проигрывателя MPC HomeCinema
   START-APP: "C:\Program Files\MPC HomeCinema\mpc-hc.exe" /add "D:\veiw\%FOUND-FILENAME%"
THEN
;FOR-FILES
)#

Естественно, в нем надо исправить пути к папкам и файлам в своей системе:
D:\YouTube\ - папка, куда сохраняем ролики.
D:\veiw\ - папка, где ролики ждут просмотра
C:\MyData\bat - папка с разными bat-файлами, в данном с случае bat-файлом, который определяет продолжительность ролика
C:\Program Files\MyLifeOrganized.net\MLO4 - папка, куда установлен MLO
C:\MyData\MLO\MyMLO.ml - рабочий файл MLO
C:\MyData\bat\log\mi.txt - файл, в который сохраняется продолжительность ролика (после выполнения _mediainfo.bat)

WaRoX писал(а): Я, кстати, очень хорошо автоматизировал добавление задач на чтение разных статей с помощью связки Pocket, ifttt.com и MLO task by email - напишу отдельно про это.

У меня такое есть, но без MLO. Поэтому интересно будет почитать!

Автор темы

LTrack
Сообщения: 20
Зарегистрирован: май 2013
Поблагодарили: 1 раз

Re: Использование командной строки MLO

Сообщение LTrack » 23 янв 2016, 05:06

Пример 3. ЗАДАЧИ MLO ЧЕРЕЗ ЭЛЕКТРОННУЮ ПОЧТУ.

Редко, но бывает такая ситуация, когда под рукой нет смартфона и ПК с MLO, но есть электронная почта. В этом случае задачу можно отправить себе по почте и позже на домашнем ПК она автоматически появится в MLO.

Используемые приложения:
1. Любое приложение для отправки электронной почты
2. The Bat - почтовый клиент
3. MLO

Настройки
1. Из любого приложения отправляется сообщение.
- Если отдельный почтовый адрес для MLO не заведен, то в теме необходимо написать префикс, обозначающий, что это письмо "для MLO". В моем варианте это "MLO:". По этому признаку отделяются письма-задания от обычных писем. В качестве текста задачи MLO используется остальная часть темы письма.
- Если заведен отдельный почтовый адрес, то в теме сразу пишется текст задачи для MLO.

2. The Bat
Настраивается правило, которое формирует и запускает командную строку добавления задачи в MLO.
- В варианте в префиксом правило срабатывает, если тема содержит "MLO:". Правило запускает командную строку вида:

Код: Выделить всё

"C:\Program Files\MyLifeOrganized.net\MLO4\mlo.exe" "C:\MyData\MLO\MyMLO.ml" -task={56E6D626-2611-4D75-85D5-B1502D2700C5} -AddSubtask="%SetPattRegExp="(?ims-x)(MLO:)([A-я\s]+)"%REGEXPBLINDMATCH="%SUBJECT"%SubPatt="2"
Здесь
- "C:\MyData\MLO\MyMLO.ml" - рабочий файл MLO;
- {56E6D626-2611-4D75-85D5-B1502D2700C5} - id моей папки "входящие" в MLO, куда добавляется новая задача.
Далее идет regexp, который вытаскивает текст из темы письма передает как параметр командной строки MLO - "имя задачи".
- В варианте с отдельным адресом правило срабатывает на любое входящее письмо и запускается более простая командная строка:

Код: Выделить всё

"C:\Program Files\MyLifeOrganized.net\MLO4\mlo.exe" "C:\MyData\MLO\MyMLO.ml" -task={56E6D626-2611-4D75-85D5-B1502D2700C5} -AddSubtask="%SUBJECT"

Как это работает
При получении в The Bat письма для MLO (с префиксом MLO или на отдельный адрес), автоматически создается новая задача в MLO.

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

Эту задачу можно решить и для случая, если вы не являетесь пользователем The Bat. Там будет более сложная цепочка с использованием сервиса ifttt.com

Аватара пользователя
Violence
Команда бета тестеров
Сообщения: 109
Зарегистрирован: мар 2016
Есть ответ: 1
Откуда: Kyiv
Благодарил (а): 14 раз
Поблагодарили: 16 раз

Re: Использование командной строки MLO

Сообщение Violence » 28 мар 2016, 21:22

Обалдеть, уж не думала, что встречу человека, который так же, как и я, любит автоматизировать любой труд. Ознакомилась с вашей работой, очень круто. Одно хочу посоветовать - вместо cron, php и батников вы можете использовать AutoIt. Это очень классный скриптовый язык для автоматизации, умеет очень многое. Из наработок для MLO - делали скриптик для более лёгкого добавления контекстов-размещений (Адрес и координаты брались с google карт и пихались в нужные поля в окне). Его плюс - возможность работы с командной строкой, файлами, приложениями. Можно не через командную строку добавлять задачи, а слать данные в контрол (элемент интерфейса) самого приложения. Таким образом вы можете настраивать то, что нельзя сделать из командной строки. Думаю, для вас этот инструмент окажется настоящей находкой, как оказался для меня несколько лет назад.
...must be dreaming...
Конструктивные предложения: MLO for Windows, MLO for Android

WaRoX
Команда бета тестеров
Сообщения: 752
Зарегистрирован: фев 2009
Есть ответ: 28
Благодарил (а): 21 раз
Поблагодарили: 103 раза

Re: Использование командной строки MLO

Сообщение WaRoX » 31 мар 2016, 13:11

Violence писал(а):вместо cron, php и батников вы можете использовать AutoIt
Нас тут таких много ;) Для MLO у меня раньше была написана программа на C#, которая брала выгрузку XML и структуру задач, которая там хранится в виде дерева, переводила в плоскую для дальнейшей возможности импорта и анализа в Excel. Сейчас как раз на AutoIt это пытаюсь перевести, чтобы в с другими AutoIt-скриптами и экселем интегрироваться.
Violence писал(а):Можно не через командную строку добавлять задачи, а слать данные в контрол (элемент интерфейса) самого приложения. Таким образом вы можете настраивать то, что нельзя сделать из командной строки
А можно примеры этого на AutoIt для MLO? Я понимаю как там через клавиатурный ввод добиться автоматизации действий в MLO, а как в контрол напрямую слать?
Илья

Vengeance
Команда бета тестеров
Сообщения: 64
Зарегистрирован: мар 2016
Есть ответ: 2
Благодарил (а): 12 раз
Поблагодарили: 13 раз

Re: Использование командной строки MLO

Сообщение Vengeance » 04 апр 2016, 18:18

ControlSetText ( "title", "text", controlID, "new text" [, flag = 0 ] )

например:
ControlSetText('Управление контекстами','','[CLASS:TEdit; INSTANCE:2]', '500') - впишет 500 метров в поле радиус, в вкладке местоположение.
Окно "Управление контекстами" должно быть открыто и может быть свернуто при этом
Голосуй! Сделай свой вклад, чтобы сделать MLO еще лучше
Иерархия: регулирование глубины вложенности
Фильтр "Дата смены флага"


Вернуться в «Обмен опытом»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей