Merge lp:~thekorn/ubuntu/lucid/update-manager/bug-539211-on_battery into lp:ubuntu/lucid/update-manager

Proposed by Markus Korn
Status: Merged
Merge reported by: Michael Vogt
Merged at revision: not available
Proposed branch: lp:~thekorn/ubuntu/lucid/update-manager/bug-539211-on_battery
Merge into: lp:ubuntu/lucid/update-manager
Diff against target: 35 lines (+15/-6)
1 file modified
UpdateManager/Core/utils.py (+15/-6)
To merge this branch: bzr merge lp:~thekorn/ubuntu/lucid/update-manager/bug-539211-on_battery
Reviewer Review Type Date Requested Status
Michael Vogt Approve
James Westby (community) Approve
Review via email: mp+21396@code.launchpad.net

Description of the change

Modified UpdateManager.Core.utils.on_battery() to use UPower per default
(and DeviceKit.Power as fallback) to check if a system is running on battery
(LP: #539211)

To post a comment you must log in.
Revision history for this message
James Westby (james-w) wrote :

Looks good to me.

Michael, would you review too please?

Thanks,

James

review: Approve
Revision history for this message
Michael Vogt (mvo) wrote :

Thanks, this was merged a while ago:

update-manager (1:0.133.5) lucid; urgency=low

  [ Markus Korn ]
  * UpdateManager/Core/utils.py:
    - Modified UpdateManager.Core.utils.on_battery() to use UPower per default
      (and DeviceKit.Power as fallback) to check if a system is running
      on battery (LP: #539211)
...

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'UpdateManager/Core/utils.py'
2--- UpdateManager/Core/utils.py 2010-01-27 12:00:53 +0000
3+++ UpdateManager/Core/utils.py 2010-03-15 19:34:16 +0000
4@@ -209,16 +209,25 @@
5
6 def on_battery():
7 """
8- Check a dbus signal to org.gnome.PowerManager to not suspend
9- the system, this is to support upgrades from pre-gutsy g-p-m
10+ Check via dbus if the system is running on battery.
11+ This function is using UPower per default, if UPower is not
12+ available it falls-back to DeviceKit.Power.
13 """
14 try:
15 import dbus
16 bus = dbus.Bus(dbus.Bus.TYPE_SYSTEM)
17- devobj = bus.get_object('org.freedesktop.DeviceKit.Power',
18- '/org/freedesktop/DeviceKit/Power')
19- dev = dbus.Interface(devobj, "org.freedesktop.DBus.Properties")
20- return dev.Get("org.freedesktop.DeviceKit.Power", "on_battery")
21+ try:
22+ devobj = bus.get_object('org.freedesktop.UPower',
23+ '/org/freedesktop/UPower')
24+ dev = dbus.Interface(devobj, 'org.freedesktop.DBus.Properties')
25+ return dev.Get('org.freedesktop.UPower', 'OnBattery')
26+ except dbus.exceptions.DBusException, e:
27+ if e._dbus_error_name != 'org.freedesktop.DBus.Error.ServiceUnknown':
28+ raise
29+ devobj = bus.get_object('org.freedesktop.DeviceKit.Power',
30+ '/org/freedesktop/DeviceKit/Power')
31+ dev = dbus.Interface(devobj, "org.freedesktop.DBus.Properties")
32+ return dev.Get("org.freedesktop.DeviceKit.Power", "on_battery")
33 except Exception, e:
34 #import sys
35 #print >>sys.stderr, "on_battery returned error: ", e

Subscribers

People subscribed via source and target branches

to all changes: