diff options
Diffstat (limited to 'extensions/cpsection/power/model.py')
-rw-r--r-- | extensions/cpsection/power/model.py | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/extensions/cpsection/power/model.py b/extensions/cpsection/power/model.py index 48d05de..041e5cf 100644 --- a/extensions/cpsection/power/model.py +++ b/extensions/cpsection/power/model.py @@ -35,14 +35,17 @@ _logger = logging.getLogger('ControlPanel - Power') class ReadError(Exception): def __init__(self, value): self.value = value + def __str__(self): return repr(self.value) + def using_powerd(): # directory exists if powerd running, and it's recent # enough to be controllable. return os.access(POWERD_FLAG_DIR, os.W_OK) + def get_automatic_pm(): if using_powerd(): return not os.access(POWERD_INHIBIT_FLAG, os.R_OK) @@ -51,9 +54,11 @@ def get_automatic_pm(): client = gconf.client_get_default() return client.get_bool('/desktop/sugar/power/automatic') + def print_automatic_pm(): print ('off', 'on')[get_automatic_pm()] + def set_automatic_pm(enabled): """Automatic suspends on/off.""" @@ -74,42 +79,45 @@ def set_automatic_pm(enabled): bus = dbus.SystemBus() proxy = bus.get_object(OHM_SERVICE_NAME, OHM_SERVICE_PATH) keystore = dbus.Interface(proxy, OHM_SERVICE_IFACE) - + if enabled == 'on' or enabled == 1: - keystore.SetKey("suspend.automatic_pm", 1) + keystore.SetKey('suspend.automatic_pm', 1) enabled = True elif enabled == 'off' or enabled == 0: - keystore.SetKey("suspend.automatic_pm", 0) + keystore.SetKey('suspend.automatic_pm', 0) enabled = False else: - raise ValueError(_("Error in automatic pm argument, use on/off.")) + raise ValueError(_('Error in automatic pm argument, use on/off.')) client = gconf.client_get_default() client.set_bool('/desktop/sugar/power/automatic', enabled) return + def get_extreme_pm(): client = gconf.client_get_default() return client.get_bool('/desktop/sugar/power/extreme') + def print_extreme_pm(): print ('off', 'on')[get_extreme_pm()] + def set_extreme_pm(enabled): """Extreme power management on/off.""" - + bus = dbus.SystemBus() proxy = bus.get_object(OHM_SERVICE_NAME, OHM_SERVICE_PATH) keystore = dbus.Interface(proxy, OHM_SERVICE_IFACE) - + if enabled == 'on' or enabled == 1: - keystore.SetKey("suspend.extreme_pm", 1) + keystore.SetKey('suspend.extreme_pm', 1) enabled = True elif enabled == 'off' or enabled == 0: - keystore.SetKey("suspend.extreme_pm", 0) + keystore.SetKey('suspend.extreme_pm', 0) enabled = False else: - raise ValueError(_("Error in extreme pm argument, use on/off.")) + raise ValueError(_('Error in extreme pm argument, use on/off.')) client = gconf.client_get_default() client.set_bool('/desktop/sugar/power/extreme', enabled) |