From 217f2c4dbd4b38ab465f0b8bd85b369b30734d3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Redzy=C5=84ski?= Date: Fri, 12 Jul 2019 08:20:48 +0200 Subject: [PATCH] imp_url: normalize path for default out name (#2248) --- dvc/repo/imp_url.py | 7 ++----- tests/func/test_import_url.py | 9 ++------- 2 files changed, 4 insertions(+), 12 deletions(-) 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"):