diff env/lib/python3.7/site-packages/virtualenv/run/plugin/discovery.py @ 2:6af9afd405e9 draft

"planemo upload commit 0a63dd5f4d38a1f6944587f52a8cd79874177fc1"
author shellac
date Thu, 14 May 2020 14:56:58 -0400
parents 26e78fe6e8c4
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/env/lib/python3.7/site-packages/virtualenv/run/plugin/discovery.py	Thu May 14 14:56:58 2020 -0400
@@ -0,0 +1,37 @@
+from __future__ import absolute_import, unicode_literals
+
+from virtualenv.run.app_data import TempAppData
+
+from .base import PluginLoader
+
+
+class Discovery(PluginLoader):
+    """"""
+
+
+def get_discover(parser, args, options):
+    discover_types = Discovery.entry_points_for("virtualenv.discovery")
+    discovery_parser = parser.add_argument_group(
+        title="discovery", description="discover and provide a target interpreter"
+    )
+    discovery_parser.add_argument(
+        "--discovery",
+        choices=_get_default_discovery(discover_types),
+        default=next(i for i in discover_types.keys()),
+        required=False,
+        help="interpreter discovery method",
+    )
+    options, _ = parser.parse_known_args(args, namespace=options)
+    if options.app_data == "<temp folder>":
+        options.app_data = TempAppData()
+    if options.clear_app_data:
+        options.app_data.clean()
+    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())