exp init: minor refactoring

This commit is contained in:
Saugat Pachhai (सौगात)
2021-12-07 08:40:46 +05:45
committed by Saugat Pachhai
parent 4385720fab
commit cd37ebca37
3 changed files with 19 additions and 16 deletions
+7 -4
View File
@@ -793,6 +793,7 @@ class CmdExperimentsRemove(CmdBase):
class CmdExperimentsInit(CmdBase):
DEFAULT_NAME = "train"
CODE = "src"
DATA = "data"
MODELS = "models"
@@ -851,12 +852,10 @@ class CmdExperimentsInit(CmdBase):
force=self.args.force,
)
name = self.args.name or "train"
text = ui.rich_text.assemble(
"\n" if self.args.interactive else "",
"Created ",
(name, "bright_blue"),
(self.args.name, "bright_blue"),
" stage in ",
("dvc.yaml", "green"),
".",
@@ -1452,7 +1451,11 @@ def add_parser(subparsers, parent_parser):
help="Only use the path values explicitly provided",
)
experiments_init_parser.add_argument(
"--name", "-n", help="Name of the stage to create"
"--name",
"-n",
help="Name of the stage to create "
f"(default: {CmdExperimentsInit.DEFAULT_NAME})",
default=CmdExperimentsInit.DEFAULT_NAME,
)
experiments_init_parser.add_argument(
"--code",
+4 -5
View File
@@ -29,7 +29,6 @@ from dvc.utils.serialize import dumps_yaml
if TYPE_CHECKING:
from dvc.repo import Repo
from dvc.dvcfile import DVCFile
from dvc.stage import Stage
from rich.tree import Tree
from dvc.ui import ui
@@ -202,19 +201,17 @@ def validate_prompts(key: str, value: str) -> Union[Any, Tuple[Any, str]]:
def init(
repo: "Repo",
name: str = None,
name: str = "train",
type: str = "default", # pylint: disable=redefined-builtin
defaults: Dict[str, str] = None,
overrides: Dict[str, str] = None,
interactive: bool = False,
force: bool = False,
stream: Optional[TextIO] = None,
) -> "Stage":
) -> PipelineStage:
from dvc.dvcfile import make_dvcfile
dvcfile = make_dvcfile(repo, "dvc.yaml")
name = name or "train"
_check_stage_exists(dvcfile, name, force=force)
defaults = defaults.copy() if defaults else {}
@@ -284,4 +281,6 @@ def init(
repo.scm_context.track_file(params)
else:
raise DvcException("Aborting ...")
assert isinstance(stage, PipelineStage)
return stage
+8 -7
View File
@@ -613,7 +613,7 @@ def test_experiments_init(dvc, scm, mocker, capsys, extra_args):
assert cmd.run() == 0
m.assert_called_once_with(
ANY(Repo),
name=None,
name="train",
type="default",
defaults={
"code": "src",
@@ -653,7 +653,7 @@ def test_experiments_init_config(dvc, scm, mocker):
assert cmd.run() == 0
m.assert_called_once_with(
ANY(Repo),
name=None,
name="train",
type="default",
defaults={
"code": "new_src",
@@ -678,7 +678,7 @@ def test_experiments_init_explicit(dvc, mocker):
assert cmd.run() == 0
m.assert_called_once_with(
ANY(Repo),
name=None,
name="train",
type="default",
defaults={},
overrides={"cmd": "cmd"},
@@ -710,9 +710,9 @@ def test_experiments_init_cmd_not_required_for_interactive_mode(dvc, mocker):
@pytest.mark.parametrize(
"extra_args, expected_kw",
[
(["--type", "default"], {"type": "default"}),
(["--type", "dl"], {"type": "dl"}),
(["--force"], {"force": True}),
(["--type", "default"], {"type": "default", "name": "train"}),
(["--type", "dl"], {"type": "dl", "name": "train"}),
(["--force"], {"force": True, "name": "train"}),
(
["--name", "name", "--type", "dl"],
{"name": "name", "type": "dl"},
@@ -735,6 +735,7 @@ def test_experiments_init_cmd_not_required_for_interactive_mode(dvc, mocker):
"live",
],
{
"name": "train",
"overrides": {
"plots": "p",
"models": "m",
@@ -744,7 +745,7 @@ def test_experiments_init_cmd_not_required_for_interactive_mode(dvc, mocker):
"data": "d",
"live": "live",
"cmd": "cmd",
}
},
},
),
],