X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=bindings%2Fpython%2Fsigrok%2Fcore%2Fclasses.py;h=14781b8c031f0ec4d40a676abf74c88c4e89b7dd;hb=05cfe1147a9f85d9d3db41d6025c708898a66be9;hp=a2b3d809de0c257eae9e6c88f1ffa84ebf62b02e;hpb=9bbd6a6a0d8747538db2e1ef03e52e4fdcadfaa2;p=libsigrok.git diff --git a/bindings/python/sigrok/core/classes.py b/bindings/python/sigrok/core/classes.py index a2b3d809..14781b8c 100644 --- a/bindings/python/sigrok/core/classes.py +++ b/bindings/python/sigrok/core/classes.py @@ -1,5 +1,5 @@ ## -## This file is part of the sigrok project. +## This file is part of the libsigrok project. ## ## Copyright (C) 2013 Martin Ling ## @@ -69,8 +69,10 @@ def python_to_gvariant(value): return g_variant_new_string(value) if isinstance(value, Fraction): array = new_gvariant_ptr_array(2) - gvariant_ptr_array_setitem(array, 0, value.numerator) - gvariant_ptr_array_setitem(array, 1, value.denominator) + gvariant_ptr_array_setitem(array, 0, + g_variant_new_uint64(value.numerator)) + gvariant_ptr_array_setitem(array, 1, + g_variant_new_uint64(value.denominator)) result = g_variant_new_tuple(array, 2) delete_gvariant_ptr_array(array) return result @@ -123,14 +125,9 @@ class Driver(object): if not self._initialized: check(sr_driver_init(self.context.struct, self.struct)) self._initialized = True - devices = [] device_list = sr_driver_scan(self.struct, None) - device_list_item = device_list - while device_list_item: - ptr = device_list_item.data - device_ptr = gpointer_to_sr_dev_inst_ptr(ptr) - devices.append(Device(self, device_ptr)) - device_list_item = device_list_item.next + devices = [Device(self, gpointer_to_sr_dev_inst_ptr(ptr)) + for ptr in gslist_to_python(device_list)] g_slist_free(device_list) return devices