Just pass in cls
or self
as the first positional argument, there is no need to pass them is as keyword arguments:
def paginated_class_method(default_page_size=25):
def wrap(func):
@functools.wraps(func)
def inner(self_or_cls, page=1, page_size=default_page_size, *args, **kwargs):
objects = func(self_or_cls, *args, **kwargs)
return _paginate(objects, page, page_size)
return inner
return wrap