X-Git-Url: http://git.maemo.org/git/?p=gc-dialer;a=blobdiff_plain;f=dialcentral%2Falarm_handler.py;h=ce19e58e13d88360b868c0254c1b4dbdb254a2ed;hp=31c036117b6734dd2b0589cb1af4bd014416702d;hb=53ef91d3f438582f2473fc54eac58c746760a971;hpb=d6bf8ee15f782ba81070746c8788680c0672d08a;ds=sidebyside diff --git a/dialcentral/alarm_handler.py b/dialcentral/alarm_handler.py index 31c0361..ce19e58 100644 --- a/dialcentral/alarm_handler.py +++ b/dialcentral/alarm_handler.py @@ -106,6 +106,10 @@ class _FremantleAlarmHandler(object): self._alarmCookie = self._INVALID_COOKIE self._launcher = self._LAUNCHER + @property + def alarmCookie(self): + return self._alarmCookie + def load_settings(self, config, sectionName): try: self._recurrence = config.getint(sectionName, "recurrence") @@ -191,6 +195,10 @@ class _DiabloAlarmHandler(object): self._alarmCookie = self._INVALID_COOKIE self._launcher = self._LAUNCHER + @property + def alarmCookie(self): + return self._alarmCookie + def load_settings(self, config, sectionName): try: self._recurrence = config.getint(sectionName, "recurrence") @@ -276,6 +284,10 @@ class _ApplicationAlarmHandler(object): self._timer.setSingleShot(False) self._timer.setInterval(5 * self._MIN_TO_MS_FACTORY) + @property + def alarmCookie(self): + return 0 + def load_settings(self, config, sectionName): try: self._timer.setInterval(config.getint(sectionName, "recurrence") * self._MIN_TO_MS_FACTORY) @@ -314,6 +326,10 @@ class _NoneAlarmHandler(object): self._enabled = False self._recurrence = 5 + @property + def alarmCookie(self): + return 0 + def load_settings(self, config, sectionName): try: self._recurrence = config.getint(sectionName, "recurrence") @@ -415,12 +431,16 @@ class AlarmHandler(object): def isEnabled(self): return self._currentAlarmType != self.ALARM_NONE + @property + def alarmCookie(self): + return self._alarms[self._currentAlarmType].alarmCookie + def _init_alarm(self, t): if t not in self._alarms and self.ALARM_FACTORY[t] is not None: self._alarms[t] = self.ALARM_FACTORY[t]() -def main(): +def run(): logFormat = '(%(relativeCreated)5d) %(levelname)-5s %(threadName)s.%(name)s.%(funcName)s: %(message)s' logging.basicConfig(level=logging.DEBUG, format=logFormat) from dialcentral import constants @@ -445,14 +465,19 @@ def main(): if commandOptions.display: print "Alarm (%s) is %s for every %d minutes" % ( - alarmHandler._alarmCookie, + alarmHandler.alarmCookie, "enabled" if alarmHandler.isEnabled else "disabled", alarmHandler.recurrence, ) else: isEnabled = commandOptions.enabled recurrence = commandOptions.recurrence - alarmHandler.apply_settings(AlarmHandler.ALARM_BACKGROUND if isEnabled else AlarmHandler.ALARM_NONE, recurrence) + + if alarmHandler.backgroundNotificationsSupported: + enableType = AlarmHandler.ALARM_BACKGROUND + else: + enableType = AlarmHandler.ALARM_APPLICATION + alarmHandler.apply_settings(enableType if isEnabled else AlarmHandler.ALARM_NONE, recurrence) alarmHandler.save_settings(config, "alarm") with open(settingsPath, "wb") as configFile: @@ -460,4 +485,4 @@ def main(): if __name__ == "__main__": - main() + run()