def __call__(self, *args): d = {} for value in args: for obj in self.__listObj: d.update({id(obj): getattr(obj, value)}) d = {k: v for k, v in sorted(d.items(), key=lambda item: item[1])} self.__listObj = [] for obj_id in d.keys(): self.__listObj.append(_ctypes.PyObj_FromPtr(obj_id)) return self.__listObj
def dereference_pointer(id): return _ctypes.PyObj_FromPtr(id)
def di(obj_id): """ Inverse of id() function. """ return _ctypes.PyObj_FromPtr(obj_id)
def di(obj_id): return _ctypes.PyObj_FromPtr(obj_id)
def di(obj_id): # from http://stackoverflow.com/a/15012814/355230 """ Reverse of id() function. """ return _ctypes.PyObj_FromPtr(obj_id)
def dereference_pointer(self, obj_id): """ Inverse of id() function. """ return _ctypes.PyObj_FromPtr(obj_id)
def get_pointer(current, prev=0): print("Pointer is",id(current)) if current == prev: return None xor = current ^ prev return _ctypes.PyObj_FromPtr(xor)