The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Компания Google открыла код Ashier, программы для автоматизации взаимодействия с терминалом

22.10.2012 14:37

Разработчики из компании Google представили новый открытый проект Ashier, в рамках которого подготовлена утилита для автоматизации выполнения интерактивных операций в терминале в соответствии с заданным шаблоном действий. Например, ashier может использоваться для автоматического ввода команд и ответа на запросы консольного приложения. Выполняемые ashier задачи сходны с утилитой expect, а отличия в основном состоят в существенном упрощении настройки правил, создание которых доступно обычным пользователям.

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

Для примера, можно привести ashier-скрипт для выделения результатов выполнения операции ping (какие именно значения взять в скрипте указывается при помощи наглядных отступов и маски):


>       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"


  1. Главная ссылка к новости (http://google-opensource.blogs...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/35137-expect
Ключевые слова: expect, template, ashier, script, google
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (20) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Crazy Alex (ok), 14:50, 22/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хм, надо глянуть. expect всегда был рдекостной дрянью...
     
     
  • 2.2, zsh (ok), 15:19, 22/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Глянуть конечно надо, но не такая уж и дрянь expect.
     
  • 2.5, Genri Tomasino (?), 18:02, 22/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Работал одно время с expect'ом - нормальная вещь. Никаких трудностей не обнаружил. Может нужно внимательнее мануалы курить?
     
     
  • 3.8, Аноним (-), 19:50, 22/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Может нужно внимательнее мануалы курить?

    Программисты Google нашли в expect фатальный недостаток. Его знает каждый программист :)

     
     
  • 4.11, YetAnotherOnanym (?), 20:03, 22/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Или, если в трёх буквах - NIH.
     
  • 2.12, YetAnotherOnanym (?), 20:06, 22/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Хм, надо глянуть. expect всегда был рдекостной дрянью...

    Вот не надо, я Expect'том и DSLAM'ами рулил, и *nix'ами, и виндовыми серверами (через KPYM), всё очёнь хорошо работало.

     
     
  • 3.17, Аноним (-), 03:26, 23/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Нормальная он штука. От этой отличается в основном тем что в данном случае укусил NIH и зудело попрограммить на питоне.
     

  • 1.3, Xasd (ok), 16:40, 22/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    ну вот!

    кто там постоянно жаловался что GNU/Linux отдаляется ОТ unix-style?

    получите пример утилиты с классическим-unix-style-смыслом.

    а теперь, простите, мне надо проблюваться от увиденного..

     
     
  • 2.15, ананим (?), 23:05, 22/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >кто там постоянно жаловался что GNU/Linux отдаляется ОТ unix-style?

    хм.  izen?

     
  • 2.18, Аноним (-), 03:27, 23/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > получите пример утилиты с классическим-unix-style-смыслом.

    На питоне, с синдромом NIH? Где ж такой маразм в классическом юникс-стиле? Там скрипты как glue-код между быстрыми утилитами а не как замена быстрых утилит на тормозные.

     

  • 1.4, Andrey Mitrofanov (?), 17:24, 22/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    OMG? Они снова переписали expect на питоне??
    http://www.google.com/search?q=expect+in+python

    ...pexpect ещё какой-то...

    Я ж помню, что видел "это" на ОпенНЕТ-е:
    [B]17 May 2005 - https://www.opennet.ru/base/dev/interactive_tools.txt.html[/B]

     
     
  • 2.6, Crazy Alex (ok), 18:11, 22/10/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тьфу, и правда питон. ЧТоб им...
     
     
  • 3.20, namefields (?), 09:16, 23/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Да у вас pythonhurt, сейчас это лечат, обратитесь к специалистам.
     
  • 2.9, Аноним (-), 19:52, 22/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > OMG? Они снова переписали expect на питоне??
    > http://www.google.com/search?q=expect+in+python
    > ...pexpect ещё какой-то...

    А, одного раза мало? Хотя питонисты привычные - привыкли под новые версии питона переписывать, так что мания переизобретать велик снова и снова не отпускает.

     

  • 1.7, Аноним (-), 19:31, 22/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Т.е. если icmp_req начнет занимать 2 цифры, все сразу пойдет лесом?
    google в своем стиле.
     
     
  • 2.10, Аноним (-), 19:53, 22/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > google в своем стиле.

    Еще можно вспомнить snappy, где си++ непонятно нафига. А работает на уровне LZ4 и LZO того же. Первый кстати еще и натягивает snappy зачастую по соотношению скорость упаковки vs степень сжатия, сжимая и побыстрее и получше. Зато свое любимое - студенческий NIH во все поля.

     
     
  • 3.16, Аноним (-), 03:13, 23/10/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >  Первый кстати еще и натягивает snappy зачастую по соотношению скорость упаковки vs степень сжатия, сжимая и побыстрее и получше

    ты чего раскудахтался, петушок. прувы давай, или вали в школу уже, мамка заругает
    > Зато свое любимое - студенческий NIH во все поля.

    да ты у нас "специалист", которого насильно заставляют использовать open source, omg, бедненький

     
     
  • 4.19, Аноним (-), 03:42, 23/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > ты чего раскудахтался, петушок. прувы давай,

    Бенчмаркалку сжатия, которая гоняет LZ4, snappy, LZO и еще ряд алгоритмов на даденном файле и рапортует то что получилось можно найти ... ВНЕЗАПНО на гуглокоде. И кажется compression.ru. Странно что сэр научился хамить а вот таких простых вещей почему-то не знает и поиском пользоваться не умеет :). Результаты прогона этого счастья там же рядом и болтаются. Некоторые из них автор LZ4 себе на страничку даже утянул - вполне честный пиарчик даже получился. Его либа жмет получше и побыстрее. Не сильно и не везде, но в целом чутка посимпатичнее snappy и - на голом си. Что дает +10 к возможности юзануть либу в эмбеддовке, ядре ОС и прочих местах где си++ не велкам. Тем более что в snappy он нафиг не сдался. Есть даже чисто севый порт snappy на голый си, как раз чтоб в ядро и так далее проще пхать было :). Хотя с точки зрения качества кода, прямой системы сборки и кроссплатформенности LZO обоих делает с отрывом. Учтя что степени сжатия и скорости отличаются где как но в целом достаточно маргинально - LZO выглядит наилучшим вариантом из остальных. Наименее наколенная из всех трех.

    > или вали в школу уже, мамка заругает

    Это было актуально ...цать лет назад. FAIL в телепатии засчитан.

    > да ты у нас "специалист", которого насильно заставляют использовать open source, omg, бедненький

    Хм... обнаружен новый вид батхерта у фанатов велосипедов от гугла. Я всего лишь сравнил несколько алгоритмов одного и того же класса - "скоростной lempel-ziv". И не понял нафига гугл изобретал свой велик, при том что алгоритмов этого класса и так известно куча (их пишет каждый кто хоть немного разбирается в сжатии, я например писал свой анпакер для одного из вариантов такого дела). А параметры того что у гугли вышло - ничем не лучше конкурентов. По сравнению с LZ4 в среднем немного похуже. Нахрена оно такое надо и почему нельзя было взять готовую либу - только гугл и знает.

     

  • 1.13, a (??), 20:43, 22/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Разработчики из компании Google представили (http://google-opensource.blogspot.com/2012/10/ashier-automating-terminal-inte)
    > новый открытый проект Ashier (https://code.google.com/p/ashier/), в рамках которого
    > подготовлена утилита для автоматизации выполнения интерактивных операций в терминале
    > в соответствии с заданным шаблоном действий.

    Лицензия?

     
     
  • 2.14, кверти (?), 21:16, 22/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    а какую от гугла можно ещё ждать? apache, конечно
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру