Google Wave Notifier для Ubuntu

    Уже несколько недель мы используем волну для организации работы небольшой такой фрилансерской команды. И все бы в общем-то хорошо, но для того, чтобы можно было быстро реагировать на новые таски или багрепорты приходилось мало того, что держать открытой веб-интерфейс волны, так еще и обращать туда периодически свое внимание. А это не всегда возможно даже когда просто читаешь какую-нибудь чушь, не говоря уже о состоянии «закопан в работу по уши».


    Добавляло дискофморта еще и то, что я, во-первых, работаю на нетбуке — для скриптового программинга его хватает, конечно, но чем меньше на нем запущено тяжелых приложений, тем лучше :), а во-вторых, не пользуюсь Firefox, под который совсем недавно был выпущен AddOn, сообщающий об обновлённых волнах.

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

    Когда я разобрал аддон на кусочки выяснилось, что, к сожалению, использован там на самом деле достаточно брутальный путь, о котором я и сам задумывался, когда только прикидывал написание нотификатора — мы просто логинимся, получаем код веб-интерфейса, и разбираем json'овский объект, в котором хранится куча разной информации, в том числе — и количество непрочитанных апдейтов блипов.

    Так что я потратил некоторое количество времени и наваял питоновский скриптик, занимающийся практически тем же самым — с определенным интервалом показывает системное всплывающее сообщение с количеством и названиями обновленных волн.

    «Из коробки» он запустится, наверное, только под ubuntu с gnome, просто потому, что для вывода сообщений использует notify-send (о котором я недавно узнал, перечитывая старые топики на хабре, спасибо, brain2xml :)).

    upd: По свидетельству xdemon, работает в kde4, archlinux. Так что, видимо, конструкция не совсем непереносима :)

    Но я думаю, что не составит особой проблемы для желающих перепилить скрипт под свою систему и свой любимый способ сообщений, тем более, что код вывода нотификации специально (хитрый план) вынесен в отдельную функцию.

    Итак, ставим нотификатор:

    1. Убеждаемся, что у нас есть питон :), urllib, urllib2, cookielib. Самый простой способ — в консоли ввести python, в появившейся строке — import urllib, urllib2, cookielib. Если не сругался — Ctrl+D, чтобы оттуда выбраться. Если сругался — ставим.
    2. Качаем отсюда архив
    3. Распаковываем его куда-нибудь
    4. Правим notify.conf — самым очевидным образом, логин и пароль
      Еще один параметр в конфиге, timeout — это, соответственно, интервал между проверками в секундах
    5. sudo chmod +x ./notify.py в консоли в папке, куда распаковали


    Можно запускать :)

    В первый раз, наверное, лучше запустить из консоли, ./notify.py, просто потому, что он выводит набор разной дебаговой и не очень информации, по которой можно понять, все ли в порядке.

    В архиве еще есть файлик run.sh, написанный мной затем, чтобы можно было без проблем запускать скрипт из System->Preferences->Startup Applications на старте системы.

    Главное, что делает sh-скрипт — паузу перед запуском питоновского, чтобы успели отморгаться все системные сообщения и система успела выйти в сеть.

    Надеюсь, что это будет полезной штуковиной для волнопользователей :)
    C&C very welcome!

    PS: Для вывода сообщений использованы иконки из набора MacUltimate Leopard.

    PPS: Скрипт написан недавно, особо отладить его я не успел, предоставляется as is :)
    К тому же, несмотря на все мои старания, я не нашел официальной позиции Google по отношению к такого рода автоматическим получателям инфы.

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 21

      0
      есть xmpp робот, который на ваш gtalk аккаунт присылает текст обновлений в волне.
        0
        Да, я знаю. Но это захламляет список реципиентов, плюс не все, кто создадут волну с моим участием добавят этого робота. Или я неправильно понял, и имеется в виду не wave-robot? Если да, то очень интересно, не поделитесь ссылочкой? Спасибо
          0
          это вейв-робот, но вы его можете добавить в волну сами.
            0
            ну да. Я такого себе писал :) Но для меня это неудобно — если кто-то еще создает волну, со мной в качестве реципиента — я об этом не узнаю, пока не зайду в интерфейс. Я подумал, что я не один такой :)
              +1
              Да, с уведомлениями пока в волне не густо.
              Но я думаю, это временно.
        +1
        Простите за вопрос не в тему, но что это за картинка? На запрос «wave» она часто попадается. Так понимаю знаменитое что-то?
        А нотифиер — да, полезная штука.
          +1
          Это картина японского художника 19в. Хокусая.
            +2
            Клёвый чувак. Считается что с него началась Манга (не самая великая заслуга, но ныне это о чём-то может сказать)
            Посмотрите его картины, поймёте что такое истинная японская живопись.
            Можно научить ребёнка считать до бесконечности, заставив его пересчитать все картины Хокусая с изображением Фудзи :)
          0
          Осталось только найти инвайт на Waves и всё =)
            +1
            Работает под kde4, archlinux
              0
              О, круто, спасибо за репорт. Просто я почему-то был уверен, что notify-send специфически гномовская штука.

              Добавил в пост
              0
              notification daemon вполне себе универсальная штука, вопрос в том что обрабатывает сигнал на конце =)
                0
                Да, теперь я уже погуглил на эту тему (что, наверное, надо было сделать раньше).

                Дело в том, что пост, в котором я нашел его описание, назывался "...notify в gnome", что ввело меня в заблуждение :)
                0
                хм… на маке мне по умолчанию json не хватило; ща буду искать, как доставить. Если кто уже знает — подмогите.
                P.S.: А ещё б неплохо б научиться вывод через Growl сделать.
                  0
                  найдя статью bob.pythonmac.org/archives/2008/10/02/python-26-released-now-with-json/, решил просто питон обновить, скачал и установил последний — python.org/download/releases/3.1.1/ — но он заставил обернуть в скобки все строки после print, а затем не нашёл даже ни ConfigParser, ни urllib2.

                  Скачал таки 2.6.4 с python.org/download/releases/2.6.4/ — и даже со скобочками после print-ов оно запустилось!
                  Правда, зациклилось, выводя в консоль
                  Start login…
                  Send request
                  Start login…
                  Send request

                  и так далее… :(
                    0
                    Это значит, что он не получает респонса от вейва — либо что-то с urllib2, либо что-то с сетью.

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

                    Может, найдется python-программист под мак, сделает доброе дело, посмотрит что не так? Там кода-то — несколько десятков строчек, вроде понятного :)
                      0
                      Кстати, можно сделать следующим образом, если Вам не лень — я скину чуть обновленный файлик, который распечатает эксепшен, Вы мне его пришлете, и я попробую все пофиксить :)

                      Но это, наверное, лучше уже в джаббере обсуждать, чтобы не засорять местную ленту.

                      Если интересно — bakagaidjin@gmail.com
                    0
                    Извините, что вопрос не очень в тему.
                    Но как вы google wave в работе используете? Какая схема этого всего?
                    Т.к. я не осили редмайн поставить (какую-то траблу поймал при установке и не могу решить), то хочу попробовать заюзать вэйв для моих задач.
                    Буду очень благодарен. Спасибо.
                      0
                      Написал себе гаджетов, например, для оценки рабочего времени по задачам.

                      Таски выставляются списком в одном блипе, помечаются как выполненные и через итерацию редактирования удаляются — потому, что в плейбеке все остается. Таким образом можно сразу окинуть орлиным взором весь фронт работ :)

                      (Можно, по идее, для тасков тоже написать гаджет, благо несложно, и, по идее будет еще приятнее, но мне пока хватает и просто плейн-текста)

                      Баги — там же, у меня проекты небольшие, как правило, и огромного таск- и баг-листа не бывает, как правило. Зато одновременно идет три-четыре проекта, поэтому преимущества перед мылом для меня огромны — вместо того, чтобы путаться в куче писем по каждому проекту — все наглядно лежит в одном месте :)
                        0
                        Но тут, конечно, очень важно, чтобы вся команда согласилась пользоваться новым инструментом — иначе будет, я думаю, не очень удобно.
                          0
                          У меня вся команда будет пользоваться, потому что вся команда — это я:) Ну может еще один человек.
                          Спасибо, попробую поэкспериментировать, думаю получится.

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

                    Самое читаемое