summaryrefslogtreecommitdiff
path: root/src/virtualenv/discovery
diff options
context:
space:
mode:
authorBernát Gábor <bgabor8@bloomberg.net>2020-02-04 14:51:00 +0000
committerGitHub <noreply@github.com>2020-02-04 14:51:00 +0000
commit7a5d03fe15f1d467f7b224c528b95eccc080b2c1 (patch)
tree7d1ccccac7eb588221fd3aa26c9d9227293ba179 /src/virtualenv/discovery
parent786c3d0addb5d6b155dc73f8bd444bde00877045 (diff)
downloadvirtualenv-7a5d03fe15f1d467f7b224c528b95eccc080b2c1.tar.gz
rewrite the documentation (#1519)
Diffstat (limited to 'src/virtualenv/discovery')
-rw-r--r--src/virtualenv/discovery/builtin.py2
-rw-r--r--src/virtualenv/discovery/discover.py25
2 files changed, 23 insertions, 4 deletions
diff --git a/src/virtualenv/discovery/builtin.py b/src/virtualenv/discovery/builtin.py
index e4e0ea0..c5f4883 100644
--- a/src/virtualenv/discovery/builtin.py
+++ b/src/virtualenv/discovery/builtin.py
@@ -15,7 +15,7 @@ from .py_spec import PythonSpec
class Builtin(Discover):
def __init__(self, options):
- super(Builtin, self).__init__()
+ super(Builtin, self).__init__(options)
self.python_spec = options.python
@classmethod
diff --git a/src/virtualenv/discovery/discover.py b/src/virtualenv/discovery/discover.py
index 13e258f..17d404e 100644
--- a/src/virtualenv/discovery/discover.py
+++ b/src/virtualenv/discovery/discover.py
@@ -7,20 +7,39 @@ import six
@six.add_metaclass(ABCMeta)
class Discover(object):
- def __init__(self):
- self._has_run = False
- self._interpreter = None
+ """Discover and provide the requested Python interpreter"""
@classmethod
def add_parser_arguments(cls, parser):
+ """Add CLI arguments for this discovery mechanisms.
+
+ :param parser: the CLI parser
+ """
raise NotImplementedError
+ # noinspection PyUnusedLocal
+ def __init__(self, options):
+ """Create a new discovery mechanism.
+
+ :param options: the parsed options as defined within :meth:`add_parser_arguments`
+ """
+ self._has_run = False
+ self._interpreter = None
+
@abstractmethod
def run(self):
+ """Discovers an interpreter.
+
+
+ :return: the interpreter ready to use for virtual environment creation
+ """
raise NotImplementedError
@property
def interpreter(self):
+ """
+ :return: the interpreter as returned by :meth:`run`, cached
+ """
if self._has_run is False:
self._interpreter = self.run()
self._has_run = True