r4540 - developers/john_lee/pyfso

john_lee at docs.openmoko.org john_lee at docs.openmoko.org
Fri Jul 18 19:20:36 CEST 2008


Author: john_lee
Date: 2008-07-18 19:20:36 +0200 (Fri, 18 Jul 2008)
New Revision: 4540

Modified:
   developers/john_lee/pyfso/accelerometer.py
Log:
make accelerometer.py pull based again.

Modified: developers/john_lee/pyfso/accelerometer.py
===================================================================
--- developers/john_lee/pyfso/accelerometer.py	2008-07-18 17:20:29 UTC (rev 4539)
+++ developers/john_lee/pyfso/accelerometer.py	2008-07-18 17:20:36 UTC (rev 4540)
@@ -4,29 +4,21 @@
 (C) 2008 Openmoko, Inc.
 GPLv2 or later
 """
-from dbus import Interface, SystemBus
-from dbus.exceptions import DBusException
-from general import Subject, DumpObserver
 import math
 
-class MockAccelerometer(Subject):
-    """>>> m = MockAccelerometer()
-    >>> d = DumpObserver(m)
-    (0, -1000, 0) {}
+class MockAccelerometer(object):
     """
-    def __init__(self, *args, **kwargs):
-        super(MockAccelerometer, self).__init__()
+    """
+    def retrieve(self):
+        return (0, -1000, 0)
 
-    def attach(self, function):
-        super(MockAccelerometer, self).attach(function)
-        self._notify(0, -1000, 0)
 
-
-class FSOAccelerometer(Subject):
+class FSOAccelerometer(object):
     def __init__(self, fso):
-        super(FSOAccelerometer, self).__init__()
-        fso.onAccelerometer.append(self._notify)
+        self.fso = fso
 
+    def retrieve(self):
+        return self.fso.accelerometer_iface.Value()
 
 # shamelessly stoled from olv
 def get_xy_theta(u):
@@ -52,12 +44,19 @@
 
 
 def _test_fso():
+    from dbus import SystemBus, DBusException
     from dbus.mainloop.glib import DBusGMainLoop
     from fso_backend import FSOObject
-    accelerometer = FSOAccelerometer(FSOObject(SystemBus(mainloop=DBusGMainLoop())))
-    DumpObserver(accelerometer)
+    try:
+        accelerometer = FSOAccelerometer(FSOObject(SystemBus(mainloop=DBusGMainLoop())))
+    except DBusException:
+        return
     import gobject
+    def f():
+        print accelerometer.retrieve()
+        return True
     try:
+        gobject.idle_add(f)
         gobject.MainLoop().run()
     except KeyboardInterrupt:
         return





More information about the commitlog mailing list