|
| 1 | +from typing import Iterable, Union |
| 2 | + |
1 | 3 | import requests
|
2 | 4 |
|
3 | 5 | from .submission import Submission
|
@@ -76,15 +78,25 @@ def create_submission(self, submission: Submission) -> None:
|
76 | 78 |
|
77 | 79 | submission.set_attributes(resp.json())
|
78 | 80 |
|
79 |
| - def get_submission(self, submission: Submission, *, fields=None) -> None: |
| 81 | + def get_submission( |
| 82 | + self, |
| 83 | + submission: Submission, |
| 84 | + *, |
| 85 | + fields: Union[str, Iterable[str], None] = None, |
| 86 | + ) -> None: |
80 | 87 | """Check the submission status."""
|
81 | 88 |
|
82 | 89 | params = {
|
83 | 90 | "base64_encoded": "true",
|
84 | 91 | }
|
85 | 92 |
|
| 93 | + if isinstance(fields, str): |
| 94 | + fields = [fields] |
| 95 | + |
86 | 96 | if fields is not None:
|
87 | 97 | params["fields"] = ",".join(fields)
|
| 98 | + else: |
| 99 | + params["fields"] = "*" |
88 | 100 |
|
89 | 101 | resp = requests.get(
|
90 | 102 | f"{self.endpoint}/submissions/{submission.token}",
|
@@ -117,15 +129,25 @@ def create_submissions(self, submissions: list[Submission]) -> None:
|
117 | 129 | for submission, attrs in zip(submissions, resp.json()):
|
118 | 130 | submission.set_attributes(attrs)
|
119 | 131 |
|
120 |
| - def get_submissions(self, submissions: list[Submission], *, fields=None) -> None: |
| 132 | + def get_submissions( |
| 133 | + self, |
| 134 | + submissions: list[Submission], |
| 135 | + *, |
| 136 | + fields: Union[str, Iterable[str], None] = None, |
| 137 | + ) -> None: |
121 | 138 | params = {
|
122 | 139 | "base64_encoded": "true",
|
123 | 140 | }
|
124 | 141 |
|
| 142 | + if isinstance(fields, str): |
| 143 | + fields = [fields] |
| 144 | + |
125 | 145 | if fields is not None:
|
126 | 146 | params["fields"] = ",".join(fields)
|
| 147 | + else: |
| 148 | + params["fields"] = "*" |
127 | 149 |
|
128 |
| - tokens = ",".join((submission.token for submission in submissions)) |
| 150 | + tokens = ",".join(submission.token for submission in submissions) |
129 | 151 | params["tokens"] = tokens
|
130 | 152 |
|
131 | 153 | resp = requests.get(
|
@@ -199,15 +221,25 @@ def create_submission(self, submission: Submission) -> None:
|
199 | 221 | self._update_endpoint_header(self.DEFAULT_CREATE_SUBMISSION_ENDPOINT)
|
200 | 222 | return super().create_submission(submission)
|
201 | 223 |
|
202 |
| - def get_submission(self, submission: Submission, *, fields=None) -> None: |
| 224 | + def get_submission( |
| 225 | + self, |
| 226 | + submission: Submission, |
| 227 | + *, |
| 228 | + fields: Union[str, Iterable[str], None] = None, |
| 229 | + ) -> None: |
203 | 230 | self._update_endpoint_header(self.DEFAULT_GET_SUBMISSION_ENDPOINT)
|
204 | 231 | return super().get_submission(submission, fields=fields)
|
205 | 232 |
|
206 | 233 | def create_submissions(self, submissions: list[Submission]) -> None:
|
207 | 234 | self._update_endpoint_header(self.DEFAULT_CREATE_SUBMISSIONS_ENDPOINT)
|
208 | 235 | return super().create_submissions(submissions)
|
209 | 236 |
|
210 |
| - def get_submissions(self, submissions: list[Submission], *, fields=None) -> None: |
| 237 | + def get_submissions( |
| 238 | + self, |
| 239 | + submissions: list[Submission], |
| 240 | + *, |
| 241 | + fields: Union[str, Iterable[str], None] = None, |
| 242 | + ) -> None: |
211 | 243 | self._update_endpoint_header(self.DEFAULT_GET_SUBMISSIONS_ENDPOINT)
|
212 | 244 | return super().get_submissions(submissions, fields=fields)
|
213 | 245 |
|
@@ -257,17 +289,27 @@ def create_submission(self, submission: Submission):
|
257 | 289 | self._update_endpoint_header(self.DEFAULT_CREATE_SUBMISSION_ENDPOINT)
|
258 | 290 | return super().create_submission(submission)
|
259 | 291 |
|
260 |
| - def get_submission(self, submission: Submission, *, fields=None): |
| 292 | + def get_submission( |
| 293 | + self, |
| 294 | + submission: Submission, |
| 295 | + *, |
| 296 | + fields: Union[str, Iterable[str], None] = None, |
| 297 | + ): |
261 | 298 | self._update_endpoint_header(self.DEFAULT_GET_SUBMISSION_ENDPOINT)
|
262 | 299 | return super().get_submission(submission, fields=fields)
|
263 | 300 |
|
264 |
| - def create_submissions(self, submission: list[Submission]) -> None: |
| 301 | + def create_submissions(self, submissions: list[Submission]) -> None: |
265 | 302 | self._update_endpoint_header(self.DEFAULT_CREATE_SUBMISSIONS_ENDPOINT)
|
266 |
| - return super().create_submissions(submission) |
| 303 | + return super().create_submissions(submissions) |
267 | 304 |
|
268 |
| - def get_submissions(self, submission: list[Submission], *, fields=None) -> None: |
| 305 | + def get_submissions( |
| 306 | + self, |
| 307 | + submissions: list[Submission], |
| 308 | + *, |
| 309 | + fields: Union[str, Iterable[str], None] = None, |
| 310 | + ) -> None: |
269 | 311 | self._update_endpoint_header(self.DEFAULT_GET_SUBMISSIONS_ENDPOINT)
|
270 |
| - return super().get_submissions(submission, fields=fields) |
| 312 | + return super().get_submissions(submissions, fields=fields) |
271 | 313 |
|
272 | 314 |
|
273 | 315 | class Rapid(Client):
|
|
0 commit comments