Skip to content

Commit

Permalink
plots: Fix repo with removed plots
Browse files Browse the repository at this point in the history
Changes in dvc-render 0.0.5 caused error.
  • Loading branch information
daavoo committed Apr 27, 2022
1 parent 10bcc99 commit bea7d56
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 11 deletions.
18 changes: 10 additions & 8 deletions dvc/render/convert.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,16 @@ def to_json(renderer, split: bool = False) -> List[Dict]:
content = renderer.get_filled_template(skip_anchors=["data"])
else:
content = renderer.get_filled_template()
return [
{
TYPE_KEY: renderer.TYPE,
REVISIONS_KEY: sorted(grouped.keys()),
"content": json.loads(content),
"datapoints": grouped,
}
]
if grouped:
return [
{
TYPE_KEY: renderer.TYPE,
REVISIONS_KEY: sorted(grouped.keys()),
"content": json.loads(content),
"datapoints": grouped,
}
]
return []
if renderer.TYPE == "image":
return [
{
Expand Down
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ install_requires =
diskcache>=5.2.1
jaraco.windows>=5.7.0; python_version < '3.8' and sys_platform == 'win32'
scmrepo==0.0.18
dvc-render==0.0.4
dvc-render==0.0.5
dvclive>=0.7.2

[options.extras_require]
Expand Down
14 changes: 12 additions & 2 deletions tests/integration/plots/test_json.py
Original file line number Diff line number Diff line change
Expand Up @@ -235,12 +235,22 @@ def test_repo_with_plots(
split_json_result,
)
verify_vega_props("confusion.json", json_result, **confusion_props)


@pytest.mark.vscode
def test_repo_with_removed_plots(tmp_dir, capsys, repo_with_plots):
from dvc.utils.fs import remove

next(repo_with_plots())

# even if there is no data, call should be successful
remove(tmp_dir / ".dvc" / "cache")
remove("linear.json")
remove("confusion.json")
remove("image.png")
call(capsys)
call(capsys, subcommand="diff")

for s in {"show", "diff"}:
_, json_result, split_json_result = call(capsys, subcommand=s)
for p in {"linear.json", "confusion.json", "image.png"}:
assert json_result[p] == []
assert split_json_result[p] == []

0 comments on commit bea7d56

Please sign in to comment.