1
1
Fork 0
mirror of https://github.com/pypa/pip synced 2023-12-13 21:30:23 +01:00

fixed minor type errors

This commit is contained in:
Sander Van Balen 2023-07-25 17:33:06 +02:00
parent 292387f20b
commit 39e1102800
2 changed files with 14 additions and 4 deletions

View file

@ -64,7 +64,9 @@ def _set_requirement_extras(req: Requirement, new_extras: Set[str]) -> Requireme
given requirement already has extras those are replaced (or dropped if no new extras
are given).
"""
match: re.Match = re.fullmatch(r"([^;\[<>~=]+)(\[[^\]]*\])?(.*)", str(req))
match: Optional[re.Match[str]] = re.fullmatch(
r"([^;\[<>~=]+)(\[[^\]]*\])?(.*)", str(req)
)
# ireq.req is a valid requirement so the regex should always match
assert match is not None
pre: Optional[str] = match.group(1)
@ -534,7 +536,11 @@ def install_req_drop_extras(ireq: InstallRequirement) -> InstallRequirement:
(comes_from).
"""
return InstallRequirement(
req=_set_requirement_extras(ireq.req, set()),
req=(
_set_requirement_extras(ireq.req, set())
if ireq.req is not None
else None
),
comes_from=ireq,
editable=ireq.editable,
link=ireq.link,
@ -561,5 +567,9 @@ def install_req_extend_extras(
"""
result = copy.copy(ireq)
result.extras = {*ireq.extras, *extras}
result.req = _set_requirement_extras(ireq.req, result.extras)
result.req = (
_set_requirement_extras(ireq.req, result.extras)
if ireq.req is not None
else None
)
return result

View file

@ -465,7 +465,7 @@ class Factory:
)
return []
if not ireq.link:
if ireq.extras and ireq.req.specifier:
if ireq.extras and ireq.req is not None and ireq.req.specifier:
return [
SpecifierRequirement(ireq, drop_extras=True),
SpecifierRequirement(ireq),