+++ /dev/null
-#!/usr/bin/python
-
-# Ainda continua sendo o codigo do cara, apenas retirei as partes que nao nos interessa.
-# Ainda tem que ver se pode usar o codigo, ou seja, olhar a licensa.
-# Deve ser istalado no dispositivo
-# Otacilio Lacerda
-
-import dbus
-import dbus.service
-import dbus.glib
-import gobject
-
-percent_left = -1
-charging = False
-
-loop = gobject.MainLoop()
-
-class Request(dbus.service.Object):
- def __init__(self, bus_name):
- dbus.service.Object.__init__(self, bus_name, '/com/nokia/bme/request')
-
- @dbus.service.signal('com.nokia.bme.request')
- def timeleft_info_req(self):
- pass
-
- @dbus.service.signal('com.nokia.bme.request')
- def status_info_req(self):
- pass
-
-def timeleft_handler(idle_time, active_time):
- global percent_left
- percent_left = min(100, 100.0 * idle_time / 15000)
- loop.quit()
-
-def charging_on_handler():
- global charging
- charging = True
- loop.quit()
-
-def charging_off_handler():
- global charging
- charging = False
- loop.quit()
-
-def getBatteryState(request):
- global percent_left
- global charging
-
- request.status_info_req()
- loop.run()
-
- if charging:
- return -1
- request.timeleft_info_req()
- loop.run()
- return percent_left
-
-if __name__ == "__main__":
-
- bus = dbus.SystemBus(private = True)
- bus.add_signal_receiver(timeleft_handler, 'battery_timeleft')
- bus.add_signal_receiver(charging_on_handler, 'charger_charging_on')
- bus.add_signal_receiver(charging_on_handler, 'battery_full')
- bus.add_signal_receiver(charging_off_handler, 'charger_charging_off')
- bus_name = dbus.service.BusName('com.nokia.bme.request', bus)
- request = Request(bus_name)
-
- percent = getBatteryState(request)
- if percent < 0:
- print '-1'
- else:
- print '%.1f' % (percent)
-