summaryrefslogtreecommitdiffstats
path: root/cholerab/knut/clients/pidgin_speak/speak.py
diff options
context:
space:
mode:
Diffstat (limited to 'cholerab/knut/clients/pidgin_speak/speak.py')
-rwxr-xr-xcholerab/knut/clients/pidgin_speak/speak.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/cholerab/knut/clients/pidgin_speak/speak.py b/cholerab/knut/clients/pidgin_speak/speak.py
new file mode 100755
index 00000000..aeaa417f
--- /dev/null
+++ b/cholerab/knut/clients/pidgin_speak/speak.py
@@ -0,0 +1,31 @@
+#!/usr/bin/python
+import string
+CNOT="../cnot/index %s %s"
+host="pornocauster"
+def speakOwn(account, receiver,message):
+ speak(account,receiver,message,"","");
+def speak(account, sender, message, conversation, flags):
+ bus = dbus.SessionBus()
+ obj = bus.get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject")
+ purple = dbus.Interface(obj, "im.pidgin.purple.PurpleInterface")
+ import subprocess
+ message = message.replace("'",'"')
+ print message
+ #cmd = "espeak -v de '%s'" % message
+ cmd = CNOT % (host,message)
+ subprocess.call(cmd,shell=True)
+import dbus, gobject
+
+from dbus.mainloop.glib import DBusGMainLoop
+dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+bus = dbus.SessionBus()
+
+bus.add_signal_receiver(speak,
+ dbus_interface="im.pidgin.purple.PurpleInterface",
+ signal_name="ReceivedImMsg")
+
+bus.add_signal_receiver(speakOwn,
+ dbus_interface="im.pidgin.purple.PurpleInterface",
+ signal_name="SentImMsg")
+loop = gobject.MainLoop()
+loop.run()