lockss-pyclient 0.1.0.dev2__py3-none-any.whl → 0.1.0.dev3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. lockss/pyclient/__init__.py +8 -29
  2. lockss/pyclient/__main__.py +37 -0
  3. lockss/pyclient/_internal_common.py +395 -0
  4. lockss/pyclient/_internal_config.py +207 -0
  5. lockss/pyclient/_internal_crawler.py +251 -0
  6. lockss/pyclient/_internal_md.py +111 -0
  7. lockss/pyclient/_internal_poller.py +174 -0
  8. lockss/pyclient/_internal_rs.py +232 -0
  9. lockss/pyclient/cli.py +839 -0
  10. lockss/pyclient/config/__init__.py +15 -0
  11. lockss/pyclient/config/api/aus_api.py +14 -6
  12. lockss/pyclient/config/api/config_api.py +12 -12
  13. lockss/pyclient/config/api/utils_api.py +2 -2
  14. lockss/pyclient/config/configuration.py +1 -1
  15. lockss/pyclient/config/models/__init__.py +15 -0
  16. lockss/pyclient/config/models/access_type.py +90 -0
  17. lockss/pyclient/config/models/au_agreements.py +136 -0
  18. lockss/pyclient/config/models/au_config_page_info.py +140 -0
  19. lockss/pyclient/config/models/au_state_bean.py +942 -0
  20. lockss/pyclient/config/models/au_status.py +837 -8
  21. lockss/pyclient/config/models/au_suspect_url_versions.py +136 -0
  22. lockss/pyclient/config/models/check_substance_result.py +6 -22
  23. lockss/pyclient/config/models/dated_peer_id_set_impl.py +162 -0
  24. lockss/pyclient/config/models/hash_result.py +136 -0
  25. lockss/pyclient/config/models/page_info.py +226 -0
  26. lockss/pyclient/config/models/peer_agreement.py +188 -0
  27. lockss/pyclient/config/models/peer_agreements.py +136 -0
  28. lockss/pyclient/config/models/platform_configuration_ws_result.py +421 -8
  29. lockss/pyclient/config/models/platform_configuration_ws_result_daemon_version.py +188 -0
  30. lockss/pyclient/config/models/platform_configuration_ws_result_java_version.py +188 -0
  31. lockss/pyclient/config/models/platform_configuration_ws_result_platform.py +162 -0
  32. lockss/pyclient/config/models/substance_checker_state.py +91 -0
  33. lockss/pyclient/config/models/suspect_url_version.py +214 -0
  34. lockss/pyclient/config/swagger.yaml +2031 -0
  35. lockss/pyclient/crawler/__init__.py +1 -0
  36. lockss/pyclient/crawler/api/crawls_api.py +2 -2
  37. lockss/pyclient/crawler/configuration.py +1 -1
  38. lockss/pyclient/crawler/models/__init__.py +1 -0
  39. lockss/pyclient/crawler/models/crawl_desc.py +4 -12
  40. lockss/pyclient/crawler/models/crawl_kind_enum.py +90 -0
  41. lockss/pyclient/crawler/models/page_info.py +22 -24
  42. lockss/pyclient/crawler/swagger.yaml +1197 -0
  43. lockss/pyclient/md/configuration.py +1 -1
  44. lockss/pyclient/md/models/page_info.py +22 -24
  45. lockss/pyclient/md/swagger.yaml +583 -0
  46. lockss/pyclient/output.py +131 -0
  47. lockss/pyclient/poller/__init__.py +11 -5
  48. lockss/pyclient/poller/api/export_api.py +5 -5
  49. lockss/pyclient/poller/api/hash_api.py +3 -3
  50. lockss/pyclient/poller/api/poll_detail_api.py +42 -42
  51. lockss/pyclient/poller/api/poller_polls_api.py +18 -18
  52. lockss/pyclient/poller/api/service_api.py +2 -2
  53. lockss/pyclient/poller/api/voter_polls_api.py +18 -18
  54. lockss/pyclient/poller/configuration.py +1 -1
  55. lockss/pyclient/poller/models/__init__.py +11 -5
  56. lockss/pyclient/poller/models/export_file_type_enum.py +93 -0
  57. lockss/pyclient/poller/models/export_filename_translation_enum.py +91 -0
  58. lockss/pyclient/poller/models/page_info.py +226 -0
  59. lockss/pyclient/poller/models/poll_desc.py +3 -11
  60. lockss/pyclient/poller/models/poll_variant_enum.py +92 -0
  61. lockss/pyclient/poller/models/poller_page_info.py +140 -0
  62. lockss/pyclient/poller/models/repair_page_info.py +140 -0
  63. lockss/pyclient/poller/models/repair_type_enum.py +91 -0
  64. lockss/pyclient/poller/models/tally_type_enum.py +93 -0
  65. lockss/pyclient/poller/models/url_page_info.py +140 -0
  66. lockss/pyclient/poller/models/voter_page_info.py +140 -0
  67. lockss/pyclient/poller/models/voter_urls_enum.py +92 -0
  68. lockss/pyclient/poller/swagger.yaml +1658 -0
  69. lockss/pyclient/rs/__init__.py +6 -0
  70. lockss/pyclient/rs/api/artifacts_api.py +20 -20
  71. lockss/pyclient/rs/api/aus_api.py +5 -5
  72. lockss/pyclient/rs/api/repo_api.py +4 -4
  73. lockss/pyclient/rs/api/status_api.py +1 -1
  74. lockss/pyclient/rs/api/wayback_api.py +12 -12
  75. lockss/pyclient/rs/configuration.py +8 -1
  76. lockss/pyclient/rs/models/__init__.py +6 -0
  77. lockss/pyclient/rs/models/artifact.py +111 -81
  78. lockss/pyclient/rs/models/au_size.py +6 -0
  79. lockss/pyclient/rs/models/auid_page_info.py +2 -2
  80. lockss/pyclient/rs/models/bulk_au_op_enum.py +90 -0
  81. lockss/pyclient/rs/models/include_content_enum.py +91 -0
  82. lockss/pyclient/rs/models/page_info.py +26 -29
  83. lockss/pyclient/rs/models/pywb_match_enum.py +93 -0
  84. lockss/pyclient/rs/models/pywb_output_enum.py +90 -0
  85. lockss/pyclient/rs/models/pywb_sort_enum.py +91 -0
  86. lockss/pyclient/rs/models/storage_info.py +131 -80
  87. lockss/pyclient/rs/models/versions_enum.py +90 -0
  88. lockss/pyclient/rs/swagger.yaml +1306 -0
  89. {lockss_pyclient-0.1.0.dev2.dist-info → lockss_pyclient-0.1.0.dev3.dist-info}/METADATA +10 -3
  90. {lockss_pyclient-0.1.0.dev2.dist-info → lockss_pyclient-0.1.0.dev3.dist-info}/RECORD +93 -45
  91. {lockss_pyclient-0.1.0.dev2.dist-info → lockss_pyclient-0.1.0.dev3.dist-info}/WHEEL +1 -1
  92. lockss_pyclient-0.1.0.dev3.dist-info/entry_points.txt +3 -0
  93. {lockss_pyclient-0.1.0.dev2.dist-info → lockss_pyclient-0.1.0.dev3.dist-info/licenses}/LICENSE +0 -0
@@ -0,0 +1,131 @@
1
+ #!/usr/bin/env python3
2
+
3
+ # Copyright (c) 2000-2025, Board of Trustees of Leland Stanford Jr. University
4
+ #
5
+ # Redistribution and use in source and binary forms, with or without
6
+ # modification, are permitted provided that the following conditions are met:
7
+ #
8
+ # 1. Redistributions of source code must retain the above copyright notice,
9
+ # this list of conditions and the following disclaimer.
10
+ #
11
+ # 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ # this list of conditions and the following disclaimer in the documentation
13
+ # and/or other materials provided with the distribution.
14
+ #
15
+ # 3. Neither the name of the copyright holder nor the names of its contributors
16
+ # may be used to endorse or promote products derived from this software without
17
+ # specific prior written permission.
18
+ #
19
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
+ # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
23
+ # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24
+ # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25
+ # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27
+ # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28
+ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29
+ # POSSIBILITY OF SUCH DAMAGE.
30
+
31
+ # Remove in Python 3.14
32
+ # See https://stackoverflow.com/questions/33533148/how-do-i-type-hint-a-method-with-the-type-of-the-enclosing-class/33533514#33533514
33
+ from __future__ import annotations
34
+
35
+ from collections.abc import Iterable
36
+ import json
37
+ import jsonpath
38
+ import sys
39
+ from typing import Any, ClassVar, Optional, Union
40
+ import warnings
41
+ import yaml
42
+
43
+ from lockss.pybasic.cliutil import at_most_one
44
+ from lockss.pybasic.outpututil import OutputFormat
45
+ from pydantic.v1 import BaseModel as BaseModel1, PositiveInt as PositiveInt1, create_model as create_model1, root_validator as root_validator1, validator as validator1
46
+ from pydantic.v1.fields import Field as Field1, FieldInfo as FieldInfo1, PrivateAttr as PrivateAttr1
47
+ import tabulate
48
+
49
+
50
+ #: The objects generated by Swagger-Codegen
51
+ SwaggerObject = object
52
+
53
+
54
+ class BaseOutputOptions(BaseModel1):
55
+ DEFAULT_INDENT: ClassVar[PositiveInt1] = 4
56
+ DEFAULT_TABULAR: ClassVar[str] = 'tsv'
57
+
58
+ x_json: Optional[bool] = Field1(False, alias='json', aliases=['-j'], description='(output style) output the result as JSON') # 'json' is a BaseModel name
59
+ jsonpath: Optional[str] = Field1(aliases=['-J'], description='(output style) output the result after applying the given JSONPath')
60
+ tabular: Optional[bool] = Field1(False, aliases=['-t'], description='(output style) output the result in tabular form')
61
+ yaml: Optional[bool] = Field1(False, aliases=['-y'], description='(output style) output the result as YAML')
62
+ indent: Optional[PositiveInt1] = Field1(DEFAULT_INDENT, description='(JSON/YAML output) indentation spaces')
63
+ tabular_format: Optional[str] = Field1(DEFAULT_TABULAR, aliases=['-T'], description=f'(tabular output) output the result in the given tabular format; choices: {', '.join(OutputFormat.__members__)}')
64
+
65
+ @root_validator1
66
+ def _validate_output_type(cls: type[BaseOutputOptions], values: dict[str, Any]) -> dict[str, Any]:
67
+ return at_most_one(cls, values, 'x_json', 'jsonpath', 'tabular', 'yaml')
68
+
69
+ @validator1('tabular_format')
70
+ def _validate_tabular(cls: type[BaseOutputOptions], v: Optional[str]) -> Optional[str]:
71
+ if v and v not in OutputFormat.__members__:
72
+ raise ValueError(f'exactly one of {', '.join(OutputFormat.__members__)} required; got {v}')
73
+ return v
74
+
75
+ def display(self,
76
+ iterable_or_obj: Union[Iterable[SwaggerObject], SwaggerObject],
77
+ file: Any=sys.stdout) -> None:
78
+ iterable = iterable_or_obj if isinstance(iterable_or_obj, Iterable) else [iterable_or_obj]
79
+ if self.x_json:
80
+ self.display_json(iterable, file=file)
81
+ elif self.jsonpath:
82
+ self.display_jsonpath(iterable, file=file)
83
+ elif self.tabular:
84
+ self.display_tabular(iterable, file=file)
85
+ elif self.yaml:
86
+ self.display_yaml(iterable, file=file)
87
+ else:
88
+ for obj in iterable:
89
+ print(obj.to_dict())
90
+
91
+ def display_json(self, iterable: Iterable[SwaggerObject], file: Any) -> None:
92
+ for obj in iterable:
93
+ print(json.dumps(obj.to_dict(), indent=self.indent), file=file)
94
+
95
+ def display_jsonpath(self, iterable: Iterable[SwaggerObject], file: Any) -> None:
96
+ for obj in iterable:
97
+ print(jsonpath.findall(self.jsonpath, obj.to_dict()), file=file)
98
+
99
+ def display_tabular(self, iterable: Iterable[SwaggerObject], file: Any) -> None:
100
+ attrs = [attr.removeprefix('include_') if model.field_info.extra.get('disambiguated') else attr for attr, model in self.__fields__.items() if model.field_info.extra.get('column') and getattr(self, attr)] \
101
+ or [attr.removeprefix('include_') if model.field_info.extra.get('disambiguated') else attr for attr, model in self.__fields__.items() if model.field_info.extra.get('column')]
102
+ headers = [] if self.no_headers else [self._target_cls.attribute_map[attr] for attr in attrs]
103
+ data = [[str(getattr(obj, attr)) for attr in attrs] for obj in iterable]
104
+ print(tabulate.tabulate(data, headers=headers, tablefmt=self.tabular_format), file=file)
105
+
106
+ def display_yaml(self, iterable: Iterable[SwaggerObject], file: Any) -> None:
107
+ for obj in iterable:
108
+ print(yaml.dump(obj.to_dict(), indent=self.indent), file=file)
109
+
110
+
111
+ def output_options(type_name: str,
112
+ target_cls: type[SwaggerObject],
113
+ disambiguate: Optional[list[str]] = None):
114
+ disambiguate = disambiguate or []
115
+ with warnings.catch_warnings():
116
+ warnings.simplefilter("ignore") # Pydantic v1 demands that PrivateAttr begins with a hyphen but warns that _target_cls begins with a hyphen
117
+ return create_model1(type_name,
118
+ __base__=BaseOutputOptions,
119
+ _target_cls=PrivateAttr1(target_cls),
120
+ no_headers=(Optional[bool],
121
+ FieldInfo1(False,
122
+ alias='no-headers',
123
+ description='(tabular output) do not display column headers')),
124
+ **{f'{"include_" if python_attr in disambiguate else ""}{python_attr}':
125
+ (bool,
126
+ FieldInfo1(False,
127
+ alias=python_attr.replace('_', '-') if '_' in python_attr else None,
128
+ description=f'(tabular output) include the field {original_attr} in the output',
129
+ column=True,
130
+ disambiguated=python_attr in disambiguate))
131
+ for python_attr, original_attr in target_cls.attribute_map.items()})
@@ -31,24 +31,30 @@ from lockss.pyclient.poller.models.api_status import ApiStatus
31
31
  from lockss.pyclient.poller.models.aus_import_body import AusImportBody
32
32
  from lockss.pyclient.poller.models.cached_uri_set_spec import CachedUriSetSpec
33
33
  from lockss.pyclient.poller.models.error_result import ErrorResult
34
+ from lockss.pyclient.poller.models.export_file_type_enum import ExportFileTypeEnum
35
+ from lockss.pyclient.poller.models.export_filename_translation_enum import ExportFilenameTranslationEnum
34
36
  from lockss.pyclient.poller.models.hasher_ws_params import HasherWsParams
35
37
  from lockss.pyclient.poller.models.link_desc import LinkDesc
36
- from lockss.pyclient.poller.models.page_desc import PageDesc
38
+ from lockss.pyclient.poller.models.page_info import PageInfo
37
39
  from lockss.pyclient.poller.models.peer_data import PeerData
38
40
  from lockss.pyclient.poller.models.peer_ws_result import PeerWsResult
39
41
  from lockss.pyclient.poller.models.poll_desc import PollDesc
42
+ from lockss.pyclient.poller.models.poll_variant_enum import PollVariantEnum
40
43
  from lockss.pyclient.poller.models.poll_ws_result import PollWsResult
41
44
  from lockss.pyclient.poller.models.poller_detail import PollerDetail
42
- from lockss.pyclient.poller.models.poller_pager import PollerPager
45
+ from lockss.pyclient.poller.models.poller_page_info import PollerPageInfo
43
46
  from lockss.pyclient.poller.models.poller_summary import PollerSummary
44
47
  from lockss.pyclient.poller.models.repair_data import RepairData
45
- from lockss.pyclient.poller.models.repair_pager import RepairPager
48
+ from lockss.pyclient.poller.models.repair_page_info import RepairPageInfo
46
49
  from lockss.pyclient.poller.models.repair_queue import RepairQueue
50
+ from lockss.pyclient.poller.models.repair_type_enum import RepairTypeEnum
47
51
  from lockss.pyclient.poller.models.repository_space_ws_result import RepositorySpaceWsResult
48
52
  from lockss.pyclient.poller.models.repository_ws_result import RepositoryWsResult
49
53
  from lockss.pyclient.poller.models.tally_data import TallyData
50
- from lockss.pyclient.poller.models.url_pager import UrlPager
54
+ from lockss.pyclient.poller.models.tally_type_enum import TallyTypeEnum
55
+ from lockss.pyclient.poller.models.url_page_info import UrlPageInfo
51
56
  from lockss.pyclient.poller.models.vote_ws_result import VoteWsResult
52
57
  from lockss.pyclient.poller.models.voter_detail import VoterDetail
53
- from lockss.pyclient.poller.models.voter_pager import VoterPager
58
+ from lockss.pyclient.poller.models.voter_page_info import VoterPageInfo
54
59
  from lockss.pyclient.poller.models.voter_summary import VoterSummary
60
+ from lockss.pyclient.poller.models.voter_urls_enum import VoterUrlsEnum
@@ -43,10 +43,10 @@ class ExportApi(object):
43
43
 
44
44
  :param async_req bool
45
45
  :param str auid: Identifier of the Archival Unit containing the artifacts (required)
46
- :param str file_type: The type of archive to create
46
+ :param ExportFileTypeEnum file_type: The type of archive to create
47
47
  :param bool is_compress: Indication of whether contents should be compressed
48
48
  :param bool is_exclude_dir_nodes: Indication of whether directories should be excluded
49
- :param str xlate_filenames: Type of filename translation to be done
49
+ :param ExportFilenameTranslationEnum xlate_filenames: Type of filename translation to be done
50
50
  :param str file_prefix: The prefix to be used to name the exported file
51
51
  :param int max_size: The maximum size of the exported file
52
52
  :param int max_versions: The maximum number of versions of an artifact to be exported
@@ -72,10 +72,10 @@ class ExportApi(object):
72
72
 
73
73
  :param async_req bool
74
74
  :param str auid: Identifier of the Archival Unit containing the artifacts (required)
75
- :param str file_type: The type of archive to create
75
+ :param ExportFileTypeEnum file_type: The type of archive to create
76
76
  :param bool is_compress: Indication of whether contents should be compressed
77
77
  :param bool is_exclude_dir_nodes: Indication of whether directories should be excluded
78
- :param str xlate_filenames: Type of filename translation to be done
78
+ :param ExportFilenameTranslationEnum xlate_filenames: Type of filename translation to be done
79
79
  :param str file_prefix: The prefix to be used to name the exported file
80
80
  :param int max_size: The maximum size of the exported file
81
81
  :param int max_versions: The maximum number of versions of an artifact to be exported
@@ -134,7 +134,7 @@ class ExportApi(object):
134
134
  body_params = None
135
135
  # HTTP header `Accept`
136
136
  header_params['Accept'] = self.api_client.select_header_accept(
137
- ['multipart/form-data', 'application/json']) # noqa: E501
137
+ ['multipart/form-data', 'application/json;q=0.9']) # noqa: E501
138
138
 
139
139
  # Authentication setting
140
140
  auth_settings = ['basicAuth'] # noqa: E501
@@ -193,7 +193,7 @@ class HashApi(object):
193
193
  body_params = None
194
194
  # HTTP header `Accept`
195
195
  header_params['Accept'] = self.api_client.select_header_accept(
196
- ['multipart/form-data', 'application/json']) # noqa: E501
196
+ ['multipart/form-data', 'application/json;q=0.9']) # noqa: E501
197
197
 
198
198
  # Authentication setting
199
199
  auth_settings = ['basicAuth'] # noqa: E501
@@ -288,7 +288,7 @@ class HashApi(object):
288
288
  body_params = None
289
289
  # HTTP header `Accept`
290
290
  header_params['Accept'] = self.api_client.select_header_accept(
291
- ['multipart/form-data', 'application/json']) # noqa: E501
291
+ ['multipart/form-data', 'application/json;q=0.9']) # noqa: E501
292
292
 
293
293
  # Authentication setting
294
294
  auth_settings = ['basicAuth'] # noqa: E501
@@ -387,7 +387,7 @@ class HashApi(object):
387
387
  body_params = params['body']
388
388
  # HTTP header `Accept`
389
389
  header_params['Accept'] = self.api_client.select_header_accept(
390
- ['multipart/form-data', 'application/json']) # noqa: E501
390
+ ['multipart/form-data', 'application/json;q=0.9']) # noqa: E501
391
391
 
392
392
  # HTTP header `Content-Type`
393
393
  header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
@@ -44,10 +44,10 @@ class PollDetailApi(object):
44
44
  :param async_req bool
45
45
  :param str poll_key: The pollKey from the PollDetail. (required)
46
46
  :param str peer_id: The peerId from the Poll Detail.PeerData. (required)
47
- :param str urls: The voter urls to return. (required)
48
- :param int page: The page number
49
- :param int size: The page size
50
- :return: UrlPager
47
+ :param VoterUrlsEnum urls: The voter urls to return. (required)
48
+ :param int limit: The requested maximum number of URLs per response
49
+ :param str continuation_token: The continuation token of the next page of URLs to be returned
50
+ :return: UrlPageInfo
51
51
  If the method is called asynchronously,
52
52
  returns the request thread.
53
53
  """
@@ -70,15 +70,15 @@ class PollDetailApi(object):
70
70
  :param async_req bool
71
71
  :param str poll_key: The pollKey from the PollDetail. (required)
72
72
  :param str peer_id: The peerId from the Poll Detail.PeerData. (required)
73
- :param str urls: The voter urls to return. (required)
74
- :param int page: The page number
75
- :param int size: The page size
76
- :return: UrlPager
73
+ :param VoterUrlsEnum urls: The voter urls to return. (required)
74
+ :param int limit: The requested maximum number of URLs per response
75
+ :param str continuation_token: The continuation token of the next page of URLs to be returned
76
+ :return: UrlPageInfo
77
77
  If the method is called asynchronously,
78
78
  returns the request thread.
79
79
  """
80
80
 
81
- all_params = ['poll_key', 'peer_id', 'urls', 'page', 'size'] # noqa: E501
81
+ all_params = ['poll_key', 'peer_id', 'urls', 'limit', 'continuation_token'] # noqa: E501
82
82
  all_params.append('async_req')
83
83
  all_params.append('_return_http_data_only')
84
84
  all_params.append('_preload_content')
@@ -117,10 +117,10 @@ class PollDetailApi(object):
117
117
  query_params = []
118
118
  if 'urls' in params:
119
119
  query_params.append(('urls', params['urls'])) # noqa: E501
120
- if 'page' in params:
121
- query_params.append(('page', params['page'])) # noqa: E501
122
- if 'size' in params:
123
- query_params.append(('size', params['size'])) # noqa: E501
120
+ if 'limit' in params:
121
+ query_params.append(('limit', params['limit'])) # noqa: E501
122
+ if 'continuation_token' in params:
123
+ query_params.append(('continuationToken', params['continuation_token'])) # noqa: E501
124
124
 
125
125
  header_params = {}
126
126
 
@@ -143,7 +143,7 @@ class PollDetailApi(object):
143
143
  body=body_params,
144
144
  post_params=form_params,
145
145
  files=local_var_files,
146
- response_type='UrlPager', # noqa: E501
146
+ response_type='UrlPageInfo', # noqa: E501
147
147
  auth_settings=auth_settings,
148
148
  async_req=params.get('async_req'),
149
149
  _return_http_data_only=params.get('_return_http_data_only'),
@@ -162,10 +162,10 @@ class PollDetailApi(object):
162
162
 
163
163
  :param async_req bool
164
164
  :param str poll_key: The pollKey as listed in the PollDetail object. (required)
165
- :param str repair: The repair queue elements to return. (required)
166
- :param int page: The page number.
167
- :param int size: The size of the page.
168
- :return: RepairPager
165
+ :param RepairTypeEnum repair: The repair queue elements to return. (required)
166
+ :param int limit: The requested maximum number of repair items per response
167
+ :param str continuation_token: The continuation token of the next page of repair items to be returned
168
+ :return: RepairPageInfo
169
169
  If the method is called asynchronously,
170
170
  returns the request thread.
171
171
  """
@@ -187,15 +187,15 @@ class PollDetailApi(object):
187
187
 
188
188
  :param async_req bool
189
189
  :param str poll_key: The pollKey as listed in the PollDetail object. (required)
190
- :param str repair: The repair queue elements to return. (required)
191
- :param int page: The page number.
192
- :param int size: The size of the page.
193
- :return: RepairPager
190
+ :param RepairTypeEnum repair: The repair queue elements to return. (required)
191
+ :param int limit: The requested maximum number of repair items per response
192
+ :param str continuation_token: The continuation token of the next page of repair items to be returned
193
+ :return: RepairPageInfo
194
194
  If the method is called asynchronously,
195
195
  returns the request thread.
196
196
  """
197
197
 
198
- all_params = ['poll_key', 'repair', 'page', 'size'] # noqa: E501
198
+ all_params = ['poll_key', 'repair', 'limit', 'continuation_token'] # noqa: E501
199
199
  all_params.append('async_req')
200
200
  all_params.append('_return_http_data_only')
201
201
  all_params.append('_preload_content')
@@ -228,10 +228,10 @@ class PollDetailApi(object):
228
228
  query_params = []
229
229
  if 'repair' in params:
230
230
  query_params.append(('repair', params['repair'])) # noqa: E501
231
- if 'page' in params:
232
- query_params.append(('page', params['page'])) # noqa: E501
233
- if 'size' in params:
234
- query_params.append(('size', params['size'])) # noqa: E501
231
+ if 'limit' in params:
232
+ query_params.append(('limit', params['limit'])) # noqa: E501
233
+ if 'continuation_token' in params:
234
+ query_params.append(('continuationToken', params['continuation_token'])) # noqa: E501
235
235
 
236
236
  header_params = {}
237
237
 
@@ -254,7 +254,7 @@ class PollDetailApi(object):
254
254
  body=body_params,
255
255
  post_params=form_params,
256
256
  files=local_var_files,
257
- response_type='RepairPager', # noqa: E501
257
+ response_type='RepairPageInfo', # noqa: E501
258
258
  auth_settings=auth_settings,
259
259
  async_req=params.get('async_req'),
260
260
  _return_http_data_only=params.get('_return_http_data_only'),
@@ -273,10 +273,10 @@ class PollDetailApi(object):
273
273
 
274
274
  :param async_req bool
275
275
  :param str poll_key: The pollKey as listed in the PollDetail object. (required)
276
- :param str tally: The kind of tally element to return. (required)
277
- :param int page: The page number.
278
- :param int size: The size of the page.
279
- :return: UrlPager
276
+ :param TallyTypeEnum tally: The kind of tally element to return. (required)
277
+ :param int limit: The requested maximum number of URLs per response
278
+ :param str continuation_token: The continuation token of the next page of URLs to be returned
279
+ :return: UrlPageInfo
280
280
  If the method is called asynchronously,
281
281
  returns the request thread.
282
282
  """
@@ -298,15 +298,15 @@ class PollDetailApi(object):
298
298
 
299
299
  :param async_req bool
300
300
  :param str poll_key: The pollKey as listed in the PollDetail object. (required)
301
- :param str tally: The kind of tally element to return. (required)
302
- :param int page: The page number.
303
- :param int size: The size of the page.
304
- :return: UrlPager
301
+ :param TallyTypeEnum tally: The kind of tally element to return. (required)
302
+ :param int limit: The requested maximum number of URLs per response
303
+ :param str continuation_token: The continuation token of the next page of URLs to be returned
304
+ :return: UrlPageInfo
305
305
  If the method is called asynchronously,
306
306
  returns the request thread.
307
307
  """
308
308
 
309
- all_params = ['poll_key', 'tally', 'page', 'size'] # noqa: E501
309
+ all_params = ['poll_key', 'tally', 'limit', 'continuation_token'] # noqa: E501
310
310
  all_params.append('async_req')
311
311
  all_params.append('_return_http_data_only')
312
312
  all_params.append('_preload_content')
@@ -339,10 +339,10 @@ class PollDetailApi(object):
339
339
  query_params = []
340
340
  if 'tally' in params:
341
341
  query_params.append(('tally', params['tally'])) # noqa: E501
342
- if 'page' in params:
343
- query_params.append(('page', params['page'])) # noqa: E501
344
- if 'size' in params:
345
- query_params.append(('size', params['size'])) # noqa: E501
342
+ if 'limit' in params:
343
+ query_params.append(('limit', params['limit'])) # noqa: E501
344
+ if 'continuation_token' in params:
345
+ query_params.append(('continuationToken', params['continuation_token'])) # noqa: E501
346
346
 
347
347
  header_params = {}
348
348
 
@@ -365,7 +365,7 @@ class PollDetailApi(object):
365
365
  body=body_params,
366
366
  post_params=form_params,
367
367
  files=local_var_files,
368
- response_type='UrlPager', # noqa: E501
368
+ response_type='UrlPageInfo', # noqa: E501
369
369
  auth_settings=auth_settings,
370
370
  async_req=params.get('async_req'),
371
371
  _return_http_data_only=params.get('_return_http_data_only'),
@@ -35,7 +35,7 @@ class PollerPollsApi(object):
35
35
  def get_poller_poll_details(self, poll_key, **kwargs): # noqa: E501
36
36
  """PollerDetails # noqa: E501
37
37
 
38
- Return the detailed information about a poll. # noqa: E501
38
+ Return the detailed information about a poll in which this peer is the poller. # noqa: E501
39
39
  This method makes a synchronous HTTP request by default. To make an
40
40
  asynchronous HTTP request, please pass async_req=True
41
41
  >>> thread = api.get_poller_poll_details(poll_key, async_req=True)
@@ -57,7 +57,7 @@ class PollerPollsApi(object):
57
57
  def get_poller_poll_details_with_http_info(self, poll_key, **kwargs): # noqa: E501
58
58
  """PollerDetails # noqa: E501
59
59
 
60
- Return the detailed information about a poll. # noqa: E501
60
+ Return the detailed information about a poll in which this peer is the poller. # noqa: E501
61
61
  This method makes a synchronous HTTP request by default. To make an
62
62
  asynchronous HTTP request, please pass async_req=True
63
63
  >>> thread = api.get_poller_poll_details_with_http_info(poll_key, async_req=True)
@@ -128,18 +128,18 @@ class PollerPollsApi(object):
128
128
  collection_formats=collection_formats)
129
129
 
130
130
  def get_polls_as_poller(self, **kwargs): # noqa: E501
131
- """Get the list of recent polls as poller. # noqa: E501
131
+ """Get the list of recent polls in which this peer is the poller. # noqa: E501
132
132
 
133
- Get the list of recent polls as poller from the poll queue. if size and page are passed in use those arguments to limit return data. # noqa: E501
133
+ Get the list of recent polls in which this peer is the poller from the poll queue. # noqa: E501
134
134
  This method makes a synchronous HTTP request by default. To make an
135
135
  asynchronous HTTP request, please pass async_req=True
136
136
  >>> thread = api.get_polls_as_poller(async_req=True)
137
137
  >>> result = thread.get()
138
138
 
139
139
  :param async_req bool
140
- :param int size: Size of the page to retrieve.
141
- :param int page: Number of the page to retrieve.
142
- :return: PollerPager
140
+ :param int limit: The requested maximum number of poll summaries per response
141
+ :param str continuation_token: The continuation token of the next page of poll summaries to be returned
142
+ :return: PollerPageInfo
143
143
  If the method is called asynchronously,
144
144
  returns the request thread.
145
145
  """
@@ -151,23 +151,23 @@ class PollerPollsApi(object):
151
151
  return data
152
152
 
153
153
  def get_polls_as_poller_with_http_info(self, **kwargs): # noqa: E501
154
- """Get the list of recent polls as poller. # noqa: E501
154
+ """Get the list of recent polls in which this peer is the poller. # noqa: E501
155
155
 
156
- Get the list of recent polls as poller from the poll queue. if size and page are passed in use those arguments to limit return data. # noqa: E501
156
+ Get the list of recent polls in which this peer is the poller from the poll queue. # noqa: E501
157
157
  This method makes a synchronous HTTP request by default. To make an
158
158
  asynchronous HTTP request, please pass async_req=True
159
159
  >>> thread = api.get_polls_as_poller_with_http_info(async_req=True)
160
160
  >>> result = thread.get()
161
161
 
162
162
  :param async_req bool
163
- :param int size: Size of the page to retrieve.
164
- :param int page: Number of the page to retrieve.
165
- :return: PollerPager
163
+ :param int limit: The requested maximum number of poll summaries per response
164
+ :param str continuation_token: The continuation token of the next page of poll summaries to be returned
165
+ :return: PollerPageInfo
166
166
  If the method is called asynchronously,
167
167
  returns the request thread.
168
168
  """
169
169
 
170
- all_params = ['size', 'page'] # noqa: E501
170
+ all_params = ['limit', 'continuation_token'] # noqa: E501
171
171
  all_params.append('async_req')
172
172
  all_params.append('_return_http_data_only')
173
173
  all_params.append('_preload_content')
@@ -188,10 +188,10 @@ class PollerPollsApi(object):
188
188
  path_params = {}
189
189
 
190
190
  query_params = []
191
- if 'size' in params:
192
- query_params.append(('size', params['size'])) # noqa: E501
193
- if 'page' in params:
194
- query_params.append(('page', params['page'])) # noqa: E501
191
+ if 'limit' in params:
192
+ query_params.append(('limit', params['limit'])) # noqa: E501
193
+ if 'continuation_token' in params:
194
+ query_params.append(('continuationToken', params['continuation_token'])) # noqa: E501
195
195
 
196
196
  header_params = {}
197
197
 
@@ -214,7 +214,7 @@ class PollerPollsApi(object):
214
214
  body=body_params,
215
215
  post_params=form_params,
216
216
  files=local_var_files,
217
- response_type='PollerPager', # noqa: E501
217
+ response_type='PollerPageInfo', # noqa: E501
218
218
  auth_settings=auth_settings,
219
219
  async_req=params.get('async_req'),
220
220
  _return_http_data_only=params.get('_return_http_data_only'),
@@ -35,7 +35,7 @@ class ServiceApi(object):
35
35
  def call_poll(self, body, **kwargs): # noqa: E501
36
36
  """Send a request to call a poll to the poller # noqa: E501
37
37
 
38
- Use the information found in the descriptor object to initiate a poll. # noqa: E501
38
+ Use the information found in the descriptor object to initiate a poll. # noqa: E501
39
39
  This method makes a synchronous HTTP request by default. To make an
40
40
  asynchronous HTTP request, please pass async_req=True
41
41
  >>> thread = api.call_poll(body, async_req=True)
@@ -57,7 +57,7 @@ class ServiceApi(object):
57
57
  def call_poll_with_http_info(self, body, **kwargs): # noqa: E501
58
58
  """Send a request to call a poll to the poller # noqa: E501
59
59
 
60
- Use the information found in the descriptor object to initiate a poll. # noqa: E501
60
+ Use the information found in the descriptor object to initiate a poll. # noqa: E501
61
61
  This method makes a synchronous HTTP request by default. To make an
62
62
  asynchronous HTTP request, please pass async_req=True
63
63
  >>> thread = api.call_poll_with_http_info(body, async_req=True)
@@ -33,18 +33,18 @@ class VoterPollsApi(object):
33
33
  self.api_client = api_client
34
34
 
35
35
  def get_polls_as_voter(self, **kwargs): # noqa: E501
36
- """Get the list of recent voter only polls. # noqa: E501
36
+ """Get the list of recent polls in which this peer is a voter. # noqa: E501
37
37
 
38
- Get the list of recent polls as voter from the poll queue. if size and page are passed in use those arguments to limit return data. # noqa: E501
38
+ Get the list of recent polls in which this peer is a voter from the poll queue. # noqa: E501
39
39
  This method makes a synchronous HTTP request by default. To make an
40
40
  asynchronous HTTP request, please pass async_req=True
41
41
  >>> thread = api.get_polls_as_voter(async_req=True)
42
42
  >>> result = thread.get()
43
43
 
44
44
  :param async_req bool
45
- :param int size: Size of the page to retrieve.
46
- :param int page: Number of the page to retrieve.
47
- :return: VoterPager
45
+ :param int limit: The requested maximum number of poll summaries per response
46
+ :param str continuation_token: The continuation token of the next page of poll summaries to be returned
47
+ :return: VoterPageInfo
48
48
  If the method is called asynchronously,
49
49
  returns the request thread.
50
50
  """
@@ -56,23 +56,23 @@ class VoterPollsApi(object):
56
56
  return data
57
57
 
58
58
  def get_polls_as_voter_with_http_info(self, **kwargs): # noqa: E501
59
- """Get the list of recent voter only polls. # noqa: E501
59
+ """Get the list of recent polls in which this peer is a voter. # noqa: E501
60
60
 
61
- Get the list of recent polls as voter from the poll queue. if size and page are passed in use those arguments to limit return data. # noqa: E501
61
+ Get the list of recent polls in which this peer is a voter from the poll queue. # noqa: E501
62
62
  This method makes a synchronous HTTP request by default. To make an
63
63
  asynchronous HTTP request, please pass async_req=True
64
64
  >>> thread = api.get_polls_as_voter_with_http_info(async_req=True)
65
65
  >>> result = thread.get()
66
66
 
67
67
  :param async_req bool
68
- :param int size: Size of the page to retrieve.
69
- :param int page: Number of the page to retrieve.
70
- :return: VoterPager
68
+ :param int limit: The requested maximum number of poll summaries per response
69
+ :param str continuation_token: The continuation token of the next page of poll summaries to be returned
70
+ :return: VoterPageInfo
71
71
  If the method is called asynchronously,
72
72
  returns the request thread.
73
73
  """
74
74
 
75
- all_params = ['size', 'page'] # noqa: E501
75
+ all_params = ['limit', 'continuation_token'] # noqa: E501
76
76
  all_params.append('async_req')
77
77
  all_params.append('_return_http_data_only')
78
78
  all_params.append('_preload_content')
@@ -93,10 +93,10 @@ class VoterPollsApi(object):
93
93
  path_params = {}
94
94
 
95
95
  query_params = []
96
- if 'size' in params:
97
- query_params.append(('size', params['size'])) # noqa: E501
98
- if 'page' in params:
99
- query_params.append(('page', params['page'])) # noqa: E501
96
+ if 'limit' in params:
97
+ query_params.append(('limit', params['limit'])) # noqa: E501
98
+ if 'continuation_token' in params:
99
+ query_params.append(('continuationToken', params['continuation_token'])) # noqa: E501
100
100
 
101
101
  header_params = {}
102
102
 
@@ -119,7 +119,7 @@ class VoterPollsApi(object):
119
119
  body=body_params,
120
120
  post_params=form_params,
121
121
  files=local_var_files,
122
- response_type='VoterPager', # noqa: E501
122
+ response_type='VoterPageInfo', # noqa: E501
123
123
  auth_settings=auth_settings,
124
124
  async_req=params.get('async_req'),
125
125
  _return_http_data_only=params.get('_return_http_data_only'),
@@ -130,7 +130,7 @@ class VoterPollsApi(object):
130
130
  def get_voter_poll_details(self, poll_key, **kwargs): # noqa: E501
131
131
  """VoterDetails # noqa: E501
132
132
 
133
- Return the detailed information about a poll. # noqa: E501
133
+ Return the detailed information about a poll in which this peer is a voter. # noqa: E501
134
134
  This method makes a synchronous HTTP request by default. To make an
135
135
  asynchronous HTTP request, please pass async_req=True
136
136
  >>> thread = api.get_voter_poll_details(poll_key, async_req=True)
@@ -152,7 +152,7 @@ class VoterPollsApi(object):
152
152
  def get_voter_poll_details_with_http_info(self, poll_key, **kwargs): # noqa: E501
153
153
  """VoterDetails # noqa: E501
154
154
 
155
- Return the detailed information about a poll. # noqa: E501
155
+ Return the detailed information about a poll in which this peer is a voter. # noqa: E501
156
156
  This method makes a synchronous HTTP request by default. To make an
157
157
  asynchronous HTTP request, please pass async_req=True
158
158
  >>> thread = api.get_voter_poll_details_with_http_info(poll_key, async_req=True)
@@ -46,7 +46,7 @@ class Configuration(six.with_metaclass(TypeWithDefault, object)):
46
46
  def __init__(self):
47
47
  """Constructor"""
48
48
  # Default Base url
49
- self.host = "https://laaws.lockss.org:443/"
49
+ self.host = "{proto}://{hostname}:{port}/"
50
50
  # Temp file folder for downloading files
51
51
  self.temp_folder_path = None
52
52