Bump to 1.3.11-2
[gc-dialer] / dialcentral / examples / sound_notifier.py
1 #!/usr/bin/env python
2
3 import os
4 import ConfigParser
5 import logging
6
7
8 from dialcentral import constants
9 from dialcentral.util import linux as linux_utils
10 from dialcentral import alarm_notify
11
12
13 def notify_on_change():
14         settingsPath = linux_utils.get_resource_path("config", constants.__app_name__, "settings.ini")
15         notifierSettingsPath = linux_utils.get_resource_path("config", constants.__app_name__, "notifier.ini")
16
17         config = ConfigParser.SafeConfigParser()
18         config.read(settingsPath)
19         backend = alarm_notify.create_backend(config)
20         notifyUser = alarm_notify.is_changed(config, backend)
21
22         config = ConfigParser.SafeConfigParser()
23         config.read(notifierSettingsPath)
24         soundFile = config.get("Sound Notifier", "soundfile")
25         soundFile = "/usr/lib/gv-notifier/alert.mp3"
26
27         if notifyUser:
28                 import subprocess
29                 import led_handler
30                 logging.info("Changed, playing %s" % soundFile)
31                 led = led_handler.LedHandler()
32                 led.on()
33                 soundOn = subprocess.call("/usr/bin/dbus-send --dest=com.nokia.osso_media_server --print-reply /com/nokia/osso_media_server com.nokia.osso_media_server.music.play_media string:file://%s",shell=True)
34         else:
35                 logging.info("No Change")
36
37
38 if __name__ == "__main__":
39         notifierLogPath = linux_utils.get_resource_path("cache", constants.__app_name__, "notifier.log")
40
41         logging.basicConfig(level=logging.WARNING, filename=notifierLogPath)
42         logging.info("Sound Notifier %s-%s" % (constants.__version__, constants.__build__))
43         logging.info("OS: %s" % (os.uname()[0], ))
44         logging.info("Kernel: %s (%s) for %s" % os.uname()[2:])
45         logging.info("Hostname: %s" % os.uname()[1])
46         try:
47                 notify_on_change()
48         except:
49                 logging.exception("Error")
50                 raise