it's always good to assign variables before use
[uccdoor.git] / client-json.py
index 1733033..6db8e4c 100755 (executable)
@@ -10,17 +10,14 @@ if __name__ == '__main__':
     # get on the bus
     system_bus = dbus.SystemBus()
     
-    doors = {'uccdoor': None, 'unisfadoor': None, 'chdoor': None, 'mrdoor': None, 'uccpir': None}
+    doors = ('uccdoor', 'unisfadoor', 'chdoor', 'mrdoor', 'uccpir')
     
-    for door in doors.keys():
-        doors[door] = system_bus.get_object('au.asn.ucc.DoorServer', '/au/asn/ucc/doors/%s' % door)
+    objects = (system_bus.get_object('au.asn.ucc.DoorServer', '/au/asn/ucc/doors/%s' % door)
+            for door in doors)
+    statuses = (remote_object.get_status(dbus_interface='au.asn.ucc.DoorInterface')
+            for remote_object in objects)
+    status_ints = (int(x) for x in statuses)
     
     print "Content-Type: text/json"
     print
-    print "{"
-
-    for door, remote_object in doors.items():
-        status = remote_object.get_status(dbus_interface='au.asn.ucc.DoorInterface')
-       print '"%s": %d,' % (door, status)
-    
-    print "}"
+    print dict(zip(doors, status_ints))

UCC git Repository :: git.ucc.asn.au