|
3 | 3 | import datetime
|
4 | 4 | import fnmatch
|
5 | 5 | import logging
|
6 |
| -from typing import Any, Dict, Iterator, List, Optional, Sequence, Union |
| 6 | +from typing import Any, Dict, Iterator, List, Optional, overload, Sequence, Union |
| 7 | +from typing_extensions import Literal |
7 | 8 |
|
8 | 9 | import boto3
|
9 | 10 | import botocore.exceptions
|
@@ -267,6 +268,36 @@ def list_directories(
|
267 | 268 | return [path for paths in result_iterator for path in paths]
|
268 | 269 |
|
269 | 270 |
|
| 271 | +@overload |
| 272 | +def list_objects( |
| 273 | + path: str, |
| 274 | + suffix: Union[str, List[str], None] = None, |
| 275 | + ignore_suffix: Union[str, List[str], None] = None, |
| 276 | + last_modified_begin: Optional[datetime.datetime] = None, |
| 277 | + last_modified_end: Optional[datetime.datetime] = None, |
| 278 | + ignore_empty: bool = False, |
| 279 | + chunked: Literal[False] = False, |
| 280 | + s3_additional_kwargs: Optional[Dict[str, Any]] = None, |
| 281 | + boto3_session: Optional[boto3.Session] = None, |
| 282 | +) -> List[str]: |
| 283 | + ... |
| 284 | + |
| 285 | + |
| 286 | +@overload |
| 287 | +def list_objects( |
| 288 | + path: str, |
| 289 | + suffix: Union[str, List[str], None] = None, |
| 290 | + ignore_suffix: Union[str, List[str], None] = None, |
| 291 | + last_modified_begin: Optional[datetime.datetime] = None, |
| 292 | + last_modified_end: Optional[datetime.datetime] = None, |
| 293 | + ignore_empty: bool = False, |
| 294 | + chunked: bool = False, |
| 295 | + s3_additional_kwargs: Optional[Dict[str, Any]] = None, |
| 296 | + boto3_session: Optional[boto3.Session] = None, |
| 297 | +) -> Union[List[str], Iterator[List[str]]]: |
| 298 | + ... |
| 299 | + |
| 300 | + |
270 | 301 | def list_objects(
|
271 | 302 | path: str,
|
272 | 303 | suffix: Union[str, List[str], None] = None,
|
|
0 commit comments