(*args, **kwargs)
| 81 | def list_request_wrapper(func): |
| 82 | @wraps(func) |
| 83 | def pagination(*args, **kwargs): |
| 84 | def recursive_append(json_list, *args, **kwargs): |
| 85 | request_response: Response = func(*args, **kwargs) |
| 86 | if request_response.status_code != 200: |
| 87 | raise ApiError(request_response) |
| 88 | json_list.extend(request_response.json()) |
| 89 | if 'count' not in kwargs: |
| 90 | expected_result_length = DEFAULT_PAGINATION_PAGE_ITEMS_COUNT |
| 91 | else: |
| 92 | expected_result_length = kwargs['count'] |
| 93 | if len(request_response.json()) == expected_result_length: |
| 94 | if 'page' not in kwargs: |
| 95 | kwargs['page'] = 2 |
| 96 | else: |
| 97 | kwargs['page'] = kwargs['page'] + 1 |
| 98 | recursive_append(json_list, *args, **kwargs) |
| 99 | else: |
| 100 | return json_list |
| 101 | |
| 102 | if 'gather_pages' in kwargs and kwargs['gather_pages'] is True: |
| 103 | json_list = [] |
| 104 | recursive_append(json_list, *args, **kwargs) |
| 105 | request_json = json_list |
| 106 | else: |
| 107 | request_response: Response = func(*args, **kwargs) |
| 108 | if request_response.status_code != 200: |
| 109 | raise ApiError(request_response) |
| 110 | request_json = request_response.json() |
| 111 | if 'return_type' in kwargs: |
| 112 | if kwargs['return_type'] == 'object': |
| 113 | return convert_json_to_object(request_json) |
| 114 | elif kwargs['return_type'] == 'pandas': |
| 115 | return convert_json_to_pandas(request_json) |
| 116 | elif kwargs['return_type'] == 'json': |
| 117 | return request_json |
| 118 | else: |
| 119 | return convert_json_to_object(request_json) |
| 120 | |
| 121 | return pagination |
| 122 |
nothing calls this directly
no test coverage detected