Mercurial > hg
annotate mcabber/contrib/events/mcnotify.py @ 1221:0dd5df7eb007
Fix wrong command completion order (reported by Lego12239)
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Thu, 10 May 2007 13:22:31 +0200 |
parents | fcef5d34b7d4 |
children |
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: |