seeders.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. from __future__ import annotations
  2. from .base import ComponentBuilder
  3. class SeederSelector(ComponentBuilder):
  4. def __init__(self, interpreter, parser) -> None:
  5. possible = self.options("virtualenv.seed")
  6. super().__init__(interpreter, parser, "seeder", possible)
  7. def add_selector_arg_parse(self, name, choices):
  8. self.parser.add_argument(
  9. f"--{name}",
  10. choices=choices,
  11. default=self._get_default(),
  12. required=False,
  13. help="seed packages install method",
  14. )
  15. self.parser.add_argument(
  16. "--no-seed",
  17. "--without-pip",
  18. help="do not install seed packages",
  19. action="store_true",
  20. dest="no_seed",
  21. )
  22. @staticmethod
  23. def _get_default():
  24. return "app-data"
  25. def handle_selected_arg_parse(self, options):
  26. return super().handle_selected_arg_parse(options)
  27. def create(self, options):
  28. return self._impl_class(options)
  29. __all__ = [
  30. "SeederSelector",
  31. ]