Skip to content

Commit c26fedb

Browse files
committed
Add make_archive overloads
1 parent 19e9575 commit c26fedb

File tree

2 files changed

+44
-2
lines changed

2 files changed

+44
-2
lines changed

distutils/archive_util.py

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
that sort of thing)."""
55

66
import os
7-
from typing import Literal
7+
from typing import Literal, overload
88

99
try:
1010
import zipfile
@@ -128,7 +128,7 @@ def make_zipfile(
128128
base_dir: str | os.PathLike[str],
129129
verbose: bool = False,
130130
dry_run: bool = False,
131-
) -> str: # noqa: C901
131+
) -> str:
132132
"""Create a zip file from all the files under 'base_dir'.
133133
134134
The output zip file will be named 'base_name' + ".zip". Uses either the
@@ -210,6 +210,7 @@ def check_archive_formats(formats):
210210
return None
211211

212212

213+
@overload
213214
def make_archive(
214215
base_name: str,
215216
format: str,
@@ -219,6 +220,27 @@ def make_archive(
219220
dry_run: bool = False,
220221
owner: str | None = None,
221222
group: str | None = None,
223+
) -> str: ...
224+
@overload
225+
def make_archive(
226+
base_name: str | os.PathLike[str],
227+
format: str,
228+
root_dir: str | os.PathLike[str] | bytes | os.PathLike[bytes],
229+
base_dir: str | None = None,
230+
verbose: bool = False,
231+
dry_run: bool = False,
232+
owner: str | None = None,
233+
group: str | None = None,
234+
) -> str: ...
235+
def make_archive(
236+
base_name: str | os.PathLike[str],
237+
format: str,
238+
root_dir: str | os.PathLike[str] | bytes | os.PathLike[bytes] | None = None,
239+
base_dir: str | None = None,
240+
verbose: bool = False,
241+
dry_run: bool = False,
242+
owner: str | None = None,
243+
group: str | None = None,
222244
) -> str:
223245
"""Create an archive file (eg. zip or tar).
224246

distutils/cmd.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -475,6 +475,7 @@ def spawn(
475475

476476
spawn(cmd, search_path, dry_run=self.dry_run)
477477

478+
@overload
478479
def make_archive(
479480
self,
480481
base_name: str,
@@ -483,6 +484,25 @@ def make_archive(
483484
base_dir: str | None = None,
484485
owner: str | None = None,
485486
group: str | None = None,
487+
) -> str: ...
488+
@overload
489+
def make_archive(
490+
self,
491+
base_name: str | os.PathLike[str],
492+
format: str,
493+
root_dir: str | os.PathLike[str] | bytes | os.PathLike[bytes],
494+
base_dir: str | None = None,
495+
owner: str | None = None,
496+
group: str | None = None,
497+
) -> str: ...
498+
def make_archive(
499+
self,
500+
base_name: str | os.PathLike[str],
501+
format: str,
502+
root_dir: str | os.PathLike[str] | bytes | os.PathLike[bytes] | None = None,
503+
base_dir: str | None = None,
504+
owner: str | None = None,
505+
group: str | None = None,
486506
) -> str:
487507
return archive_util.make_archive(
488508
base_name,

0 commit comments

Comments
 (0)