From 4a374827fc0bd86ce9c1b5ce3484d21e4a8f72a2 Mon Sep 17 00:00:00 2001 From: cyril6 Date: Wed, 16 Sep 2020 10:52:39 +0200 Subject: [PATCH 1/5] fixed new nexus existing file skip --- AUTHORS | 1 + tests/test_upload.py | 58 ++++++++++++++++++++++++++++++++++++++++ twine/commands/upload.py | 2 +- 3 files changed, 60 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index 4d5da32b..ff82f371 100644 --- a/AUTHORS +++ b/AUTHORS @@ -29,3 +29,4 @@ Peter Stensmyr (http://www.peterstensmyr.com) Felipe Mulinari Rocha Campos Devesh Kumar Singh Yesha Maggi +Cyril de Catheu (https://catheu.tech/) diff --git a/tests/test_upload.py b/tests/test_upload.py index a4fb885d..c6871906 100644 --- a/tests/test_upload.py +++ b/tests/test_upload.py @@ -335,6 +335,64 @@ def test_prints_skip_message_for_response( ), id="nexus", ), + pytest.param( + dict( + status_code=400, + text=( + "\n" + '\n' + "\n" + " 400 - Nexus Repository Manager\n" + ' \n' + "\n" + "\n" + " \n" + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + "\n" + ' \n' + "\n" + "\n" + '\n" + "\n" + '
\n' + '
\n' + ' Exclamation point\n' + ' Error 400\n' + ' Bad Request\n' + "
\n" + '
\n' + '
\n' + " Repository does not allow updating assets: pypi-hosted\n" + "
\n" + "
\n" + "
\n" + "\n" + "" + ), + ), + id="nexus_new", + ), pytest.param( dict( status_code=409, diff --git a/twine/commands/upload.py b/twine/commands/upload.py index 49a2759d..1dd0eade 100644 --- a/twine/commands/upload.py +++ b/twine/commands/upload.py @@ -46,7 +46,7 @@ def skip_upload( # PyPI / TestPyPI or (status == 400 and "already exist" in reason) # Nexus Repository OSS (https://www.sonatype.com/nexus-repository-oss) - or (status == 400 and "updating asset" in reason) + or (status == 400 and ("updating asset" in reason or "updating asset" in text)) # Artifactory (https://jfrog.com/artifactory/) or (status == 403 and "overwrite artifact" in text) ) From ccab173e401f4b4778905009228eb65d1a19ab55 Mon Sep 17 00:00:00 2001 From: cyril6 Date: Wed, 16 Sep 2020 11:16:18 +0200 Subject: [PATCH 2/5] smaller diff --- tests/test_upload.py | 83 +++++++++++++++++++------------------------- 1 file changed, 35 insertions(+), 48 deletions(-) diff --git a/tests/test_upload.py b/tests/test_upload.py index c6871906..21ba19b6 100644 --- a/tests/test_upload.py +++ b/tests/test_upload.py @@ -339,56 +339,43 @@ def test_prints_skip_message_for_response( dict( status_code=400, text=( - "\n" - '\n' - "\n" + '\n\n\n' " 400 - Nexus Repository Manager\n" - ' \n' - "\n" - "\n" - " \n" - ' \n' - ' \n' - ' \n' - ' \n' - ' \n' - ' \n' - "\n" - ' \n' - "\n" - "\n" - '
\n' - ' \n' - ' \n" - '
\n' - '
\n' - ' Nexus Repository Manager\n' - "
\n" - '
\n' + ' \n\n\n' + " \n \n \n \n \n' + ' \n' + ' \n\n' + ' ' + "\n\n\n" + '\n" - "\n" - '
\n' - '
\n' - ' Exclamation point\n' - ' Error 400\n' - ' Bad Request\n' - "
\n" - '
\n' - '
\n' - " Repository does not allow updating assets: pypi-hosted\n" - "
\n" - "
\n" - "
\n" - "\n" - "" + "
\n
\n \n
\n\n
\n
\n Exclamation point\n Error 400\n' + ' Bad Request\n
\n' + '
\n
\n' + " Repository does not allow updating assets: pypi-local\n" + "
\n
\n
\n\n" ), ), id="nexus_new", From 18d1969ef2651d41e6646989b8449c6df041ae19 Mon Sep 17 00:00:00 2001 From: cyrilou242 Date: Thu, 17 Sep 2020 14:17:31 +0200 Subject: [PATCH 3/5] remove duplicated string Co-authored-by: Brian Rutledge --- twine/commands/upload.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/twine/commands/upload.py b/twine/commands/upload.py index 1dd0eade..541f13e3 100644 --- a/twine/commands/upload.py +++ b/twine/commands/upload.py @@ -46,7 +46,7 @@ def skip_upload( # PyPI / TestPyPI or (status == 400 and "already exist" in reason) # Nexus Repository OSS (https://www.sonatype.com/nexus-repository-oss) - or (status == 400 and ("updating asset" in reason or "updating asset" in text)) + or (status == 400 and any("updating asset" in x for x in [reason, text])): # Artifactory (https://jfrog.com/artifactory/) or (status == 403 and "overwrite artifact" in text) ) From 6cf4a77f5711cf632969929a3538485df9506626 Mon Sep 17 00:00:00 2001 From: cyril6 Date: Thu, 17 Sep 2020 14:21:24 +0200 Subject: [PATCH 4/5] removed typo --- twine/commands/upload.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/twine/commands/upload.py b/twine/commands/upload.py index 541f13e3..caa87aa5 100644 --- a/twine/commands/upload.py +++ b/twine/commands/upload.py @@ -46,7 +46,7 @@ def skip_upload( # PyPI / TestPyPI or (status == 400 and "already exist" in reason) # Nexus Repository OSS (https://www.sonatype.com/nexus-repository-oss) - or (status == 400 and any("updating asset" in x for x in [reason, text])): + or (status == 400 and any("updating asset" in x for x in [reason, text])) # Artifactory (https://jfrog.com/artifactory/) or (status == 403 and "overwrite artifact" in text) ) From 070669e26eeae3d6f2077581a275012a6a17820d Mon Sep 17 00:00:00 2001 From: cyril6 Date: Thu, 17 Sep 2020 14:23:43 +0200 Subject: [PATCH 5/5] smaller diff for nexus_new test --- tests/test_upload.py | 40 +++------------------------------------- 1 file changed, 3 insertions(+), 37 deletions(-) diff --git a/tests/test_upload.py b/tests/test_upload.py index 21ba19b6..a0690090 100644 --- a/tests/test_upload.py +++ b/tests/test_upload.py @@ -339,43 +339,9 @@ def test_prints_skip_message_for_response( dict( status_code=400, text=( - '\n\n\n' - " 400 - Nexus Repository Manager\n" - ' \n\n\n' - " \n \n \n \n \n' - ' \n' - ' \n\n' - ' ' - "\n\n\n" - '\n\n
\n
\n Exclamation point\n Error 400\n' - ' Bad Request\n
\n' - '
\n
\n' - " Repository does not allow updating assets: pypi-local\n" - "
\n
\n
\n\n" + '
\n' + " Repository does not allow updating assets: pypi-local\n" + "
\n" ), ), id="nexus_new",