annotate mcabber/contrib/events/mcnotify.py @ 1427:a8eb9aba2ed2

Add option 'fifo_hide_commands'
author Mikael Berthe <mikael@lilotux.net>
date Tue, 19 Feb 2008 22:24:25 +0100
parents fcef5d34b7d4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1147
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
1 #!/usr/bin/python
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
2 # Version 0.05
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
3 #
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
4 # Copyright (C) 2007 Adam Wolk "Mulander" <netprobe@gmail.com>
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
5 # Slightly updated by Mikael Berthe
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
6 #
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
7 # To use this script, set the "events_command" option to the path of
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
8 # the script (see the mcabberrc.example file for an example)
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
9 #
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
10 # This script is provided under the terms of the GNU General Public License,
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
11 # see the file COPYING in the root mcabber source directory.
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
12 #
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
13
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
14 import sys
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
15
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
16 #CMD_MSG_IN="/usr/bin/play /home/mulander/sound/machine_move.ogg"
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
17 CMD_MSG_IN=""
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
18 SHORT_NICK=True
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
19
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
20 if len(sys.argv) == 5:
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
21 event,arg1,arg2,filename = sys.argv[1:5]
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
22 else:
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
23 event,arg1,arg2 = sys.argv[1:4]
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
24 filename = None
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
25
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
26 if event == 'MSG' and arg1 == 'IN':
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
27 import pynotify,os,locale
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
28 encoding = (locale.getdefaultlocale())[1]
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
29 msg = 'sent you a message.'
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
30
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
31 if SHORT_NICK and '@' in arg2:
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
32 arg2 = arg2[0:arg2.index('@')]
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
33
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
34 if filename is not None:
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
35 f = file(filename)
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
36 msg = f.read()
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
37
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
38 pynotify.init('mcnotify')
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
39 msgbox = pynotify.Notification(unicode(arg2, encoding),unicode(msg, encoding))
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
40 msgbox.set_timeout(3000)
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
41 msgbox.set_urgency(pynotify.URGENCY_LOW)
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
42 msgbox.show()
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
43 if (CMD_MSG_IN):
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
44 os.system(CMD_MSG_IN + '> /dev/null 2>&1')
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
45
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
46 if filename is not None and os.path.exists(filename):
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
47 os.remove(filename)
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
48 pynotify.uninit()
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
49
fcef5d34b7d4 Add a few sample event scripts
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
50 # vim:set noet sts=8 sw=8: