Разработчики из компании Google представили (http://google-opensource.blogspot.com/2012/10/ashier-automat...) новый открытый проект Ashier (https://code.google.com/p/ashier/), в рамках которого подготовлена утилита для автоматизации выполнения интерактивных операций в терминале в соответствии с заданным шаблоном действий. Например, ashier может использоваться для автоматического ввода команд и ответа на запросы консольного приложения. Выполняемые ashier задачи сходны с утилитой expect, а отличия в основном состоят в существенном упрощении настройки правил, создание которых доступно обычным пользователям.
Ashier позволяет задать алгоритм действий с использованием простого языка написания шаблонов. Определяющие логику шаблоны формируются в читаемом и наглядном виде c использованием регулярных выражений и пометки отступами. Поддерживаются в том числе и такие расширенные опции, как парсинг вложенных многострочных данных и возможность интеграции с другими языками программирования для определения логики реагирования на событие. Код утилиты доступен под лицензией Apache.
Для примера, можно привести ashier-скрипт для выделения результатов выполнения операции ping (какие именно значения взять в скрипте указывается при помощи наглядных отступов и маски):
<font color="#461b7e">
> 64 bytes from slashdot.org (216.34.181.45): icmp_req=3 ttl=230 time=94.4 ms
? ..
? ............................
? . req
? ... ttl
? .... time
! controller "REPLY $req $ttl $time"
</font>
URL: http://google-opensource.blogspot.com/2012/10/ashier-automat...
Новость: http://www.opennet.me/opennews/art.shtml?num=35137
Хм, надо глянуть. expect всегда был рдекостной дрянью...
Глянуть конечно надо, но не такая уж и дрянь expect.
Работал одно время с expect'ом - нормальная вещь. Никаких трудностей не обнаружил. Может нужно внимательнее мануалы курить?
> Может нужно внимательнее мануалы курить?Программисты Google нашли в expect фатальный недостаток. Его знает каждый программист :)
Или, если в трёх буквах - NIH.
> Хм, надо глянуть. expect всегда был рдекостной дрянью...Вот не надо, я Expect'том и DSLAM'ами рулил, и *nix'ами, и виндовыми серверами (через KPYM), всё очёнь хорошо работало.
Нормальная он штука. От этой отличается в основном тем что в данном случае укусил NIH и зудело попрограммить на питоне.
ну вот!кто там постоянно жаловался что GNU/Linux отдаляется ОТ unix-style?
получите пример утилиты с классическим-unix-style-смыслом.
а теперь, простите, мне надо проблюваться от увиденного..
>кто там постоянно жаловался что GNU/Linux отдаляется ОТ unix-style?хм. izen?
> получите пример утилиты с классическим-unix-style-смыслом.На питоне, с синдромом NIH? Где ж такой маразм в классическом юникс-стиле? Там скрипты как glue-код между быстрыми утилитами а не как замена быстрых утилит на тормозные.
OMG? Они снова переписали expect на питоне??
http://www.google.com/search?q=expect+in+python...pexpect ещё какой-то...
Я ж помню, что видел "это" на ОпенНЕТ-е:
17 May 2005 - http://www.opennet.me/base/dev/interactive_tools.txt.html...
Тьфу, и правда питон. ЧТоб им...
Да у вас pythonhurt, сейчас это лечат, обратитесь к специалистам.
> OMG? Они снова переписали expect на питоне??
> http://www.google.com/search?q=expect+in+python
> ...pexpect ещё какой-то...А, одного раза мало? Хотя питонисты привычные - привыкли под новые версии питона переписывать, так что мания переизобретать велик снова и снова не отпускает.
Т.е. если icmp_req начнет занимать 2 цифры, все сразу пойдет лесом?
google в своем стиле.
> google в своем стиле.Еще можно вспомнить snappy, где си++ непонятно нафига. А работает на уровне LZ4 и LZO того же. Первый кстати еще и натягивает snappy зачастую по соотношению скорость упаковки vs степень сжатия, сжимая и побыстрее и получше. Зато свое любимое - студенческий NIH во все поля.
> Первый кстати еще и натягивает snappy зачастую по соотношению скорость упаковки vs степень сжатия, сжимая и побыстрее и получшеты чего раскудахтался, петушок. прувы давай, или вали в школу уже, мамка заругает
> Зато свое любимое - студенческий NIH во все поля.да ты у нас "специалист", которого насильно заставляют использовать open source, omg, бедненький
> ты чего раскудахтался, петушок. прувы давай,Бенчмаркалку сжатия, которая гоняет LZ4, snappy, LZO и еще ряд алгоритмов на даденном файле и рапортует то что получилось можно найти ... ВНЕЗАПНО на гуглокоде. И кажется compression.ru. Странно что сэр научился хамить а вот таких простых вещей почему-то не знает и поиском пользоваться не умеет :). Результаты прогона этого счастья там же рядом и болтаются. Некоторые из них автор LZ4 себе на страничку даже утянул - вполне честный пиарчик даже получился. Его либа жмет получше и побыстрее. Не сильно и не везде, но в целом чутка посимпатичнее snappy и - на голом си. Что дает +10 к возможности юзануть либу в эмбеддовке, ядре ОС и прочих местах где си++ не велкам. Тем более что в snappy он нафиг не сдался. Есть даже чисто севый порт snappy на голый си, как раз чтоб в ядро и так далее проще пхать было :). Хотя с точки зрения качества кода, прямой системы сборки и кроссплатформенности LZO обоих делает с отрывом. Учтя что степени сжатия и скорости отличаются где как но в целом достаточно маргинально - LZO выглядит наилучшим вариантом из остальных. Наименее наколенная из всех трех.
> или вали в школу уже, мамка заругает
Это было актуально ...цать лет назад. FAIL в телепатии засчитан.
> да ты у нас "специалист", которого насильно заставляют использовать open source, omg, бедненький
Хм... обнаружен новый вид батхерта у фанатов велосипедов от гугла. Я всего лишь сравнил несколько алгоритмов одного и того же класса - "скоростной lempel-ziv". И не понял нафига гугл изобретал свой велик, при том что алгоритмов этого класса и так известно куча (их пишет каждый кто хоть немного разбирается в сжатии, я например писал свой анпакер для одного из вариантов такого дела). А параметры того что у гугли вышло - ничем не лучше конкурентов. По сравнению с LZ4 в среднем немного похуже. Нахрена оно такое надо и почему нельзя было взять готовую либу - только гугл и знает.
> Разработчики из компании Google представили (http://google-opensource.blogspot.com/2012/10/ashier-automat...)
> новый открытый проект Ashier (https://code.google.com/p/ashier/), в рамках которого
> подготовлена утилита для автоматизации выполнения интерактивных операций в терминале
> в соответствии с заданным шаблоном действий.Лицензия?
а какую от гугла можно ещё ждать? apache, конечно