(cls, files: Any)
| 304 | |
| 305 | @classmethod |
| 306 | def _normalize_files(cls, files: Any): |
| 307 | if isinstance(files, dict): |
| 308 | items = files.items() |
| 309 | elif isinstance(files, Iterable) and not isinstance(files, str | bytes): |
| 310 | items = files |
| 311 | else: |
| 312 | return files |
| 313 | |
| 314 | normalized_files: list[tuple[str, Any]] = [] |
| 315 | for key, value in items: |
| 316 | if cls._is_file_storage(value): |
| 317 | normalized_files.append((key, cls._file_tuple(value))) |
| 318 | continue |
| 319 | if isinstance(value, Iterable) and not isinstance( |
| 320 | value, str | bytes | dict |
| 321 | ): |
| 322 | values = list(value) |
| 323 | if values and all(cls._is_file_storage(item) for item in values): |
| 324 | normalized_files.extend( |
| 325 | (key, cls._file_tuple(item)) for item in values |
| 326 | ) |
| 327 | continue |
| 328 | normalized_files.append((key, value)) |
| 329 | return normalized_files |
| 330 | |
| 331 | async def request(self, method: str, url: str, **kwargs): |
| 332 | data = kwargs.pop("data", None) |
no test coverage detected