Aiur

zellux 的博客

利用 netgrowl 向 Windows / Mac OS X 发送消息

我平时用的系统是 Windows 7 和 Mac OS X,实验室项目一般都是 ssh 远登到 Ubuntu 和 Linux 上开发的。有时碰到内核和虚拟机等项目编译比较耗时,编译开始后要时不时的看一下编译任务是否完成,或者有没有中途出错,这时候如果有个通知系统就比较方便了。 Google 了一把找到了 netgrowl 这个好东东,它是一个开源的 Python 模块,实现了 Growl 协议,可以向 Mac 或 Windows 上的 Growl 服务发送通知。使用也非常方便,先用 GrowlRegistrationPacket 函数注册一个应用,接着就可以用 GrowlNotificationPacket 发送通知了: notify.py #!/usr/bin/python from netgrowl import * import sys title = "Notification from Ubuntu" desc = "" if len(sys.argv) > 2: title = sys.argv[1] desc = sys.argv[2] addr = ("10.131.251.101", GROWL_UDP_PORT) s = socket(AF_INET,SOCK_DGRAM) p = GrowlRegistrationPacket(application="Ubuntu", password="i") p.addNotification("Ubuntu Notifications", enabled=True) s. 阅读全文 →

SVN 更新短信通知脚本

主要功能:开发人员执行svn commit后自动将开发人id、修订版本号和日志内容通过短信的方式通知所有人。 首先修改svn服务器对应项目目录hook/post-commit文件 #!/bin/bash export LANG=en_US.utf8 REPOS="$1" REV="$2" cd /home/svn/repositories/sebank/hooks ./sms.py commit $REPOS $REV 注意别忘了这里的export LANG,我一开始测试的时候发现中文一直有乱码,后来才意识到shell的环境变量里缺这个。 hook/sms.py #!/usr/bin/python # -*- coding: utf-8 -*- import sys, urllib, os from subprocess import * user = 'your mobile number' pword = 'fetion password' phone = [ '13764444444', '13813333333', ] repo = sys.argv[2] rev = sys.argv[3] cmdlog = 'svnlook log -r %s %s'%(rev, repo) cmdauthor = 'svnlook author -r %s %s'%(rev, repo) log = Popen(cmdlog, stdout=PIPE, shell=True). 阅读全文 →