用 fortune 的输出作为 pidgin 的状态显示
很久没有写技术贴了,惭愧和忏悔中。。。
我的 python 很烂,大家凑活看吧,这个程序算是我写的第一个实用的而不是作为练习的 python 程序了。
参考了这个文档:http://developer.pidgin.im/wiki/DbusHowto
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #!/usr/bin/env python import os, sys, dbus, subprocess, time icon = u'\u27a9 ' fortune = "fortune" fortune_parameters = "-s" sleep_time=600 bus = dbus.SessionBus() obj = bus.get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject") purple = dbus.Interface(obj, "im.pidgin.purple.PurpleInterface") def pidgin_status(message): old_status = purple.PurpleSavedstatusGetCurrent() status_type = purple.PurpleSavedstatusGetType(old_status) new_status = purple.PurpleSavedstatusNew("", status_type) purple.PurpleSavedstatusSetMessage(new_status, fortune + icon + message) purple.PurpleSavedstatusActivate(new_status) def fortune_status(fortune_parameters): message = subprocess.Popen(fortune + ' ' + fortune_parameters, stdout=subprocess.PIPE, shell=True).stdout.read().rstrip() pidgin_status(message) try: fortune_parameters = sys.argv[1] except: fortune_status(fortune_parameters) while True: fortune_status(fortune_parameters) time.sleep(sleep_time) |
This entry was posted on Friday, August 7th, 2009 at 5:45 pm and is filed under 技术相关. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

