D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
alt
/
python37
/
lib
/
python3.7
/
site-packages
/
virtualenv
/
run
/
plugin
/
Filename :
discovery.py
back
Copy
from __future__ import absolute_import, unicode_literals from .base import PluginLoader class Discovery(PluginLoader): """ """ def get_discover(parser, args): discover_types = Discovery.entry_points_for("virtualenv.discovery") discovery_parser = parser.add_argument_group( title="discovery", description="discover and provide a target interpreter", ) choices = _get_default_discovery(discover_types) # prefer the builtin if present, otherwise fallback to first defined type choices = sorted(choices, key=lambda a: 0 if a == "builtin" else 1) discovery_parser.add_argument( "--discovery", choices=choices, default=next(iter(choices)), required=False, help="interpreter discovery method", ) options, _ = parser.parse_known_args(args) discover_class = discover_types[options.discovery] discover_class.add_parser_arguments(discovery_parser) options, _ = parser.parse_known_args(args, namespace=options) discover = discover_class(options) return discover def _get_default_discovery(discover_types): return list(discover_types.keys())