From 2072a2f54e529bdad1e9e75f2499b84fa6074bb7 Mon Sep 17 00:00:00 2001 From: Tyler Doyle Date: Wed, 19 Jun 2019 16:51:14 -0700 Subject: [PATCH] Update Pager to take and pass arguments to underlying callable --- tableauserverclient/server/pager.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tableauserverclient/server/pager.py b/tableauserverclient/server/pager.py index 92c0f0423..75ac8be4e 100644 --- a/tableauserverclient/server/pager.py +++ b/tableauserverclient/server/pager.py @@ -1,3 +1,5 @@ +from functools import partial + from . import RequestOptions from . import Sort @@ -11,13 +13,15 @@ class Pager(object): Will loop over anything that returns (List[ModelItem], PaginationItem). """ - def __init__(self, endpoint, request_opts=None): + def __init__(self, endpoint, request_opts=None, **kwargs): if hasattr(endpoint, 'get'): # The simpliest case is to take an Endpoint and call its get - self._endpoint = endpoint.get + endpoint = partial(endpoint.get, **kwargs) + self._endpoint = endpoint elif callable(endpoint): # but if they pass a callable then use that instead (used internally) + endpoint = partial(endpoint, **kwargs) self._endpoint = endpoint else: # Didn't get something we can page over