読者です 読者をやめる 読者になる 読者になる

Growl 1.3 にしたら growlnotifiy コマンド使えなくなって QuickJUnit の結果が取得できないから自前で用意した


Growl 1.3 で lion に正式対応でヤッターーーー!!!と思ったら
「有料化」でイヤーーンとか思ったら
離席時の履歴表示とかで、全然安い買い物だったヤッターーーー!!!と思ったら
growlnotifiy コマンド使えなくてイヤーーン ← イマココ


というわけで、とりあえず QuickJUnit の結果が通知されないのは死活問題なので書いた。

gntp 使ってるので

$ sudo eazy_install gntp

して使ってください。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import gntp.notifier
import sys

applicationIcon = 'http://cdn-ak.f.st-hatena.com/images/fotolife/k/kompiro/20100811/20100811151901.png'
notifications = ['OK','Failure','Error']

okIcon = 'https://github.com/kompiro/quick-junit/blob/master/junit.extensions.eclipse.quick.notifications/icons/tsuiteok.gif?raw=true'
failIcon = 'https://github.com/kompiro/quick-junit/raw/master/junit.extensions.eclipse.quick.notifications/icons/tsuitefail.gif'
errorIcon = 'https://github.com/kompiro/quick-junit/blob/master/junit.extensions.eclipse.quick.notifications/icons/tsuiteerror.gif?raw=true'

growl = gntp.notifier.GrowlNotifier(
    applicationName = 'QuickJUnitGrowlNotifir.py',
    notifications = notifications,
    defaultNotifications = notifications,
    applicationIcon = applicationIcon,
)

growl.register()

if __name__ == '__main__':
    argvs = sys.argv
    argc = len(argvs)
    if argc != 2 :
        print '''Usage: # python %s QuickJunitDetail
        template is ${results},${name},${error_counts},${fail_counts},${ok_counts},${total_counts}
        ''' % argvs[0]
        quit()
    results = argvs[1].strip('"').split(',')
    description = 'OK:%s FAIL:%s ERROR:%s TOTAL:%s' % tuple(results[2:])
    noteType = results[0]
    icon = okIcon
    if noteType == 'Failure':
        icon = failIcon
    elif noteType == 'Error':
        icon = errorIcon
    growl.notify(
        noteType = noteType,
        title = results[1],
        description = description,
        icon = icon,
    )

これで、
Eclipse の方で
eclipse

すれば


ok

fail

error


になります。


growl
の設定が反映されないのなんでだろう><