1
+ from __future__ import annotations
2
+
1
3
from pathlib import Path
2
4
from typing import Any , Dict , List , Optional , Tuple , Union , overload
3
5
from urllib .parse import urlparse
@@ -12,7 +14,7 @@ def install(
12
14
packages : str ,
13
15
ignore_installed : bool ,
14
16
fallback : Optional [str ],
15
- ) -> " Module" :
17
+ ) -> Module :
16
18
...
17
19
18
20
@@ -21,30 +23,29 @@ def install(
21
23
packages : Union [List [str ], Tuple [str ]],
22
24
ignore_installed : bool ,
23
25
fallback : Optional [str ],
24
- ) -> List [" Module" ]:
26
+ ) -> List [Module ]:
25
27
...
26
28
27
29
28
30
def install (
29
31
packages : Union [str , List [str ], Tuple [str ]],
30
32
ignore_installed : bool = False ,
31
33
fallback : Optional [str ] = None ,
32
- ) -> Union [" Module" , List [" Module" ]]:
34
+ ) -> Union [Module , List [Module ]]:
33
35
return_one = False
34
36
if isinstance (packages , str ):
35
37
packages = [packages ]
36
38
return_one = True
37
39
38
- pkg_names = { _private .get_package_name (pkg ) for pkg in packages }
40
+ pkg_names = [ _private .get_package_name (pkg ) for pkg in packages ]
39
41
40
- if ignore_installed or pkg_names .difference (manage .web_module_names ()):
42
+ if ignore_installed or set ( pkg_names ) .difference (manage .web_module_names ()):
41
43
manage .build (packages , clean_build = False )
42
44
43
- return (
44
- Module (pkg_names .pop (), fallback = fallback )
45
- if return_one
46
- else [Module (pkg , fallback = fallback ) for pkg in pkg_names ]
47
- )
45
+ if return_one :
46
+ return Module (pkg_names [0 ], fallback = fallback )
47
+ else :
48
+ return [Module (pkg , fallback = fallback ) for pkg in pkg_names ]
48
49
49
50
50
51
class Module :
0 commit comments