def __init__(self, name, relation, permission_class, disable_ids_fn=False, disable_reverse_ids_fn=False): super(MemoizedUserRelManager, self).__init__(name, relation, permission_class) self.disable_ids_fn = disable_ids_fn self.disable_reverse_ids_fn = disable_reverse_ids_fn self.ids_fn_name = self.name + "_ids" self.reverse_ids_fn_name = "reverse_" + self.name + "_ids" sup = super(MemoizedUserRelManager, self) self.ids = memoize(self.ids_fn_name)(sup.ids) self.reverse_ids = memoize(self.reverse_ids_fn_name)(sup.reverse_ids) self.add = self._update_caches_on_success(sup.add) self.remove = self._update_caches_on_success(sup.remove)
def __init__(self, name, relation, permission_class, disable_ids_fn=False, disable_reverse_ids_fn=False): super(MemoizedUserRelManager, self).__init__(name, relation, permission_class) self.disable_ids_fn = disable_ids_fn self.disable_reverse_ids_fn = disable_reverse_ids_fn self.ids_fn_name = self.name + '_ids' self.reverse_ids_fn_name = 'reverse_' + self.name + '_ids' sup = super(MemoizedUserRelManager, self) self.ids = memoize(self.ids_fn_name)(sup.ids) self.reverse_ids = memoize(self.reverse_ids_fn_name)(sup.reverse_ids) self.add = self._update_caches_on_success(sup.add) self.remove = self._update_caches_on_success(sup.remove)
def memoize_traffic_wrapper(cls, *args, **kwargs): method = ".".join((cls.__name__, fn.__name__)) actual_memoize_decorator = memoize(method, **memoize_kwargs) actual_memoize_wrapper = actual_memoize_decorator(fn) return actual_memoize_wrapper(cls, *args, **kwargs)