-
Notifications
You must be signed in to change notification settings - Fork 3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #6661 from cjerdonek/add-selection-prefs-class
Add a SelectionPreferences class
- Loading branch information
Showing
8 changed files
with
108 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
from pip._internal.utils.typing import MYPY_CHECK_RUNNING | ||
|
||
if MYPY_CHECK_RUNNING: | ||
from typing import Optional | ||
from pip._internal.models.format_control import FormatControl | ||
|
||
|
||
class SelectionPreferences(object): | ||
|
||
""" | ||
Encapsulates the candidate selection preferences for downloading | ||
and installing files. | ||
""" | ||
|
||
# Don't include an allow_yanked default value to make sure each call | ||
# site considers whether yanked releases are allowed. This also causes | ||
# that decision to be made explicit in the calling code, which helps | ||
# people when reading the code. | ||
def __init__( | ||
self, | ||
allow_yanked, # type: bool | ||
allow_all_prereleases=False, # type: bool | ||
format_control=None, # type: Optional[FormatControl] | ||
prefer_binary=False, # type: bool | ||
ignore_requires_python=None, # type: Optional[bool] | ||
): | ||
# type: (...) -> None | ||
"""Create a SelectionPreferences object. | ||
:param allow_yanked: Whether files marked as yanked (in the sense | ||
of PEP 592) are permitted to be candidates for install. | ||
:param format_control: A FormatControl object or None. Used to control | ||
the selection of source packages / binary packages when consulting | ||
the index and links. | ||
:param prefer_binary: Whether to prefer an old, but valid, binary | ||
dist over a new source dist. | ||
:param ignore_requires_python: Whether to ignore incompatible | ||
"Requires-Python" values in links. Defaults to False. | ||
""" | ||
if ignore_requires_python is None: | ||
ignore_requires_python = False | ||
|
||
self.allow_yanked = allow_yanked | ||
self.allow_all_prereleases = allow_all_prereleases | ||
self.format_control = format_control | ||
self.prefer_binary = prefer_binary | ||
self.ignore_requires_python = ignore_requires_python |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters