23 lines
595 B
Python
23 lines
595 B
Python
from pathlib import Path
|
|
from typing import Optional
|
|
|
|
from ..entry import Entry
|
|
from .command import PoetryCommand
|
|
|
|
|
|
class PythonEntry(Entry):
|
|
TYPE: str = "python"
|
|
|
|
def __init__(self, basepath: Path):
|
|
super().__init__(self.TYPE, basepath)
|
|
|
|
def setup(self):
|
|
self._logger.info(f"setup:{self}")
|
|
PoetryCommand.env_use("3.8").run(self._basepath)
|
|
PoetryCommand.install().run(self._basepath)
|
|
|
|
@classmethod
|
|
def detect(cls, basepath: Path) -> Optional["PythonEntry"]:
|
|
if (basepath / "pyproject.toml").exists():
|
|
return cls(basepath)
|