Skip to content

Commit 377d0c9

Browse files
dberenbaumdberenbaum
authored andcommitted
get: update show-url to take remote args
1 parent 6bdf41a commit 377d0c9

File tree

3 files changed

+31
-10
lines changed

3 files changed

+31
-10
lines changed

dvc/api/data.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def _wrap_exceptions(repo, url):
2525
raise PathMissingError(exc.path, url) from exc
2626

2727

28-
def get_url(path, repo=None, rev=None, remote=None):
28+
def get_url(path, repo=None, rev=None, **kwargs):
2929
"""
3030
Returns the URL to the storage location of a data file or directory tracked
3131
in a DVC repo. For Git repos, HEAD is used unless a rev argument is
@@ -39,12 +39,7 @@ def get_url(path, repo=None, rev=None, remote=None):
3939
from dvc.config import NoRemoteError
4040
from dvc_data.index import StorageKeyError
4141

42-
repo_kwargs: dict[str, Any] = {}
43-
if remote:
44-
repo_kwargs["config"] = {"core": {"remote": remote}}
45-
with Repo.open(
46-
repo, rev=rev, subrepos=True, uninitialized=True, **repo_kwargs
47-
) as _repo:
42+
with Repo.open(repo, rev=rev, subrepos=True, uninitialized=True, **kwargs) as _repo:
4843
index, entry = _repo.get_data_index_entry(path)
4944
with reraise(
5045
(StorageKeyError, ValueError),

dvc/commands/get.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,13 @@ def _show_url(self):
1212
from dvc.api import get_url
1313
from dvc.ui import ui
1414

15-
url = get_url(self.args.path, repo=self.args.url, rev=self.args.rev)
15+
url = get_url(
16+
self.args.path,
17+
repo=self.args.url,
18+
rev=self.args.rev,
19+
remote=self.args.remote,
20+
remote_config=self.args.remote_config,
21+
)
1622
ui.write(url, force=True)
1723

1824
return 0

tests/unit/command/test_get.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,21 @@ def test_get(mocker):
4444

4545

4646
def test_get_url(mocker, capsys):
47-
cli_args = parse_args(["get", "repo_url", "src", "--rev", "version", "--show-url"])
47+
cli_args = parse_args(
48+
[
49+
"get",
50+
"repo_url",
51+
"src",
52+
"--rev",
53+
"version",
54+
"--remote",
55+
"myremote",
56+
"--show-url",
57+
"--remote-config",
58+
"k1=v1",
59+
"k2=v2",
60+
]
61+
)
4862
assert cli_args.func == CmdGet
4963

5064
cmd = cli_args.func(cli_args)
@@ -54,4 +68,10 @@ def test_get_url(mocker, capsys):
5468
out, _ = capsys.readouterr()
5569
assert "resource_url" in out
5670

57-
m.assert_called_once_with("src", repo="repo_url", rev="version")
71+
m.assert_called_once_with(
72+
"src",
73+
repo="repo_url",
74+
rev="version",
75+
remote="myremote",
76+
remote_config={"k1": "v1", "k2": "v2"},
77+
)

0 commit comments

Comments
 (0)