diff --git a/dvc/repo/imp_url.py b/dvc/repo/imp_url.py index 2b433b26e..405de1a43 100644 --- a/dvc/repo/imp_url.py +++ b/dvc/repo/imp_url.py @@ -1,6 +1,4 @@ -import os - -from dvc.utils.compat import urlparse +from dvc.utils.compat import pathlib from dvc.repo.scm_context import scm_context @@ -10,8 +8,7 @@ def imp_url( ): from dvc.stage import Stage - default_out = os.path.basename(urlparse(url).path) - out = out or default_out + out = out or pathlib.PurePath(url).name with self.state: stage = Stage.create( diff --git a/tests/func/test_import_url.py b/tests/func/test_import_url.py index 3b1006f80..c9fd66bcf 100644 --- a/tests/func/test_import_url.py +++ b/tests/func/test_import_url.py @@ -46,15 +46,10 @@ class TestDefaultOutput(TestDvc): class TestFailedImportMessage(TestDvc): - @patch("dvc.repo.imp_url.urlparse") - def test(self, imp_urlparse_patch): + @patch("dvc.repo.imp_url.imp_url", side_effect=DvcException("message")) + def test(self, _): page_address = "http://somesite.com/file_name" - def dvc_exception(*args, **kwargs): - raise DvcException("message") - - imp_urlparse_patch.side_effect = dvc_exception - self._caplog.clear() with self._caplog.at_level(logging.ERROR, logger="dvc"):