From 4273ff49b38ef2bf86a40689eafa403306c76e16 Mon Sep 17 00:00:00 2001 From: "Mr. Outis" Date: Wed, 18 Dec 2019 23:32:28 -0600 Subject: [PATCH] summon: params -> args; use `summon` key in yaml --- dvc/api.py | 16 +++++++++------- tests/func/test_api.py | 11 +++++++---- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/dvc/api.py b/dvc/api.py index 972082acb..b25001c15 100644 --- a/dvc/api.py +++ b/dvc/api.py @@ -76,7 +76,7 @@ def _make_repo(repo_url, rev=None): yield repo -def summon(name, params=None, repo=None, rev=None): +def summon(name, args=None, repo=None, rev=None): # 1. Read dvcsummon.yaml # 2. Pull dependencies # 3. Get the call and parameters @@ -89,8 +89,11 @@ def summon(name, params=None, repo=None, rev=None): with open(dvcsummon_path, "r") as fobj: objects = ruamel.yaml.safe_load(fobj.read()).get("objects") obj = next(x for x in objects if x.get("name") == name) + _summon = obj.get("summon") - outs = [_repo.find_out_by_relpath(dep) for dep in obj.get("deps", ())] + outs = [ + _repo.find_out_by_relpath(dep) for dep in _summon.get("deps", ()) + ] with _repo.state: for out in outs: @@ -98,13 +101,12 @@ def summon(name, params=None, repo=None, rev=None): out.checkout() with _chdir_and_syspath(_repo.root_dir): - call = _import_string(obj.get("call")) - _params = obj.get("params") + call = _import_string(_summon.get("call")) - if params: - _params.update(params) + if args: + _summon.get("args").update(args) - result = call(**_params) + result = call(**_summon.get("args")) return result diff --git a/tests/func/test_api.py b/tests/func/test_api.py index a1c6f9c56..680888e48 100644 --- a/tests/func/test_api.py +++ b/tests/func/test_api.py @@ -137,9 +137,12 @@ def test_summon(tmp_dir, erepo_dir, dvc, monkeypatch): { "name": "sum", "description": "Add to ", - "call": "calculator.add_to_num", - "params": {"x": 1}, - "deps": ["number"], + "summon": { + "type": "python", + "call": "calculator.add_to_num", + "args": {"x": 1}, + "deps": ["number"], + } } ] } @@ -160,4 +163,4 @@ def test_summon(tmp_dir, erepo_dir, dvc, monkeypatch): repo_url = "file://{}".format(erepo_dir) assert api.summon("sum", repo=repo_url) == 101 - assert api.summon("sum", repo=repo_url, params={"x": 2}) == 102 + assert api.summon("sum", repo=repo_url, args={"x": 2}) == 102