notifyd: call aplay using subprocess.Popen + replace os.system with subprocess.call
[grml-scripts.git] / usr_bin / notifyd.py
index cf94ee6..28d985c 100755 (executable)
@@ -47,6 +47,7 @@ import string
 import socket
 import logging
 import getopt
+import subprocess
 
 default_hostname = 'localhost'
 default_port = 1234
@@ -58,12 +59,13 @@ default_logfile = None
 
 def play(sound_file):
     def play_wrapper(msg):
-        os.system('/usr/bin/aplay "%s" 2> /dev/null &' % sound_file)
+        with open(os.devnull, 'w') as devnull:
+            subprocess.Popen(['/usr/bin/aplay', sound_file], stderr=devnull)
     return play_wrapper
 
 def execute(command):
     def command_wrapper(msg):
-        os.system(command % dict(msg = msg))
+        subprocess.call(command % dict(msg = msg))
     return command_wrapper
 
 def osd(msg):