Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
6a8e626a
Kaydet (Commit)
6a8e626a
authored
Haz 02, 2016
tarafından
Berker Peksag
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Issue #21776: distutils.upload now correctly handles HTTPError
Initial patch by Claudiu Popa.
üst
947ff387
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
40 additions
and
8 deletions
+40
-8
upload.py
Lib/distutils/command/upload.py
+7
-7
test_upload.py
Lib/distutils/tests/test_upload.py
+30
-1
NEWS
Misc/NEWS
+3
-0
No files found.
Lib/distutils/command/upload.py
Dosyayı görüntüle @
6a8e626a
...
@@ -181,21 +181,21 @@ class upload(PyPIRCCommand):
...
@@ -181,21 +181,21 @@ class upload(PyPIRCCommand):
result
=
urlopen
(
request
)
result
=
urlopen
(
request
)
status
=
result
.
getcode
()
status
=
result
.
getcode
()
reason
=
result
.
msg
reason
=
result
.
msg
except
OSError
as
e
:
self
.
announce
(
str
(
e
),
log
.
ERROR
)
raise
except
HTTPError
as
e
:
except
HTTPError
as
e
:
status
=
e
.
code
status
=
e
.
code
reason
=
e
.
msg
reason
=
e
.
msg
except
OSError
as
e
:
self
.
announce
(
str
(
e
),
log
.
ERROR
)
raise
if
status
==
200
:
if
status
==
200
:
self
.
announce
(
'Server response (
%
s):
%
s'
%
(
status
,
reason
),
self
.
announce
(
'Server response (
%
s):
%
s'
%
(
status
,
reason
),
log
.
INFO
)
log
.
INFO
)
if
self
.
show_response
:
text
=
self
.
_read_pypi_response
(
result
)
msg
=
'
\n
'
.
join
((
'-'
*
75
,
text
,
'-'
*
75
))
self
.
announce
(
msg
,
log
.
INFO
)
else
:
else
:
msg
=
'Upload failed (
%
s):
%
s'
%
(
status
,
reason
)
msg
=
'Upload failed (
%
s):
%
s'
%
(
status
,
reason
)
self
.
announce
(
msg
,
log
.
ERROR
)
self
.
announce
(
msg
,
log
.
ERROR
)
raise
DistutilsError
(
msg
)
raise
DistutilsError
(
msg
)
if
self
.
show_response
:
text
=
self
.
_read_pypi_response
(
result
)
msg
=
'
\n
'
.
join
((
'-'
*
75
,
text
,
'-'
*
75
))
self
.
announce
(
msg
,
log
.
INFO
)
Lib/distutils/tests/test_upload.py
Dosyayı görüntüle @
6a8e626a
"""Tests for distutils.command.upload."""
"""Tests for distutils.command.upload."""
import
os
import
os
import
unittest
import
unittest
import
unittest.mock
as
mock
from
urllib.request
import
HTTPError
from
test.support
import
run_unittest
from
test.support
import
run_unittest
from
distutils.command
import
upload
as
upload_mod
from
distutils.command
import
upload
as
upload_mod
from
distutils.command.upload
import
upload
from
distutils.command.upload
import
upload
from
distutils.core
import
Distribution
from
distutils.core
import
Distribution
from
distutils.errors
import
DistutilsError
from
distutils.errors
import
DistutilsError
from
distutils.log
import
INFO
from
distutils.log
import
ERROR
,
INFO
from
distutils.tests.test_config
import
PYPIRC
,
PyPIRCCommandTestCase
from
distutils.tests.test_config
import
PYPIRC
,
PyPIRCCommandTestCase
...
@@ -144,6 +147,32 @@ class uploadTestCase(PyPIRCCommandTestCase):
...
@@ -144,6 +147,32 @@ class uploadTestCase(PyPIRCCommandTestCase):
self
.
next_code
=
404
self
.
next_code
=
404
self
.
assertRaises
(
DistutilsError
,
self
.
test_upload
)
self
.
assertRaises
(
DistutilsError
,
self
.
test_upload
)
def
test_wrong_exception_order
(
self
):
tmp
=
self
.
mkdtemp
()
path
=
os
.
path
.
join
(
tmp
,
'xxx'
)
self
.
write_file
(
path
)
dist_files
=
[(
'xxx'
,
'2.6'
,
path
)]
# command, pyversion, filename
self
.
write_file
(
self
.
rc
,
PYPIRC_LONG_PASSWORD
)
pkg_dir
,
dist
=
self
.
create_dist
(
dist_files
=
dist_files
)
tests
=
[
(
OSError
(
'oserror'
),
'oserror'
,
OSError
),
(
HTTPError
(
'url'
,
400
,
'httperror'
,
{},
None
),
'Upload failed (400): httperror'
,
DistutilsError
),
]
for
exception
,
expected
,
raised_exception
in
tests
:
with
self
.
subTest
(
exception
=
type
(
exception
)
.
__name__
):
with
mock
.
patch
(
'distutils.command.upload.urlopen'
,
new
=
mock
.
Mock
(
side_effect
=
exception
)):
with
self
.
assertRaises
(
raised_exception
):
cmd
=
upload
(
dist
)
cmd
.
ensure_finalized
()
cmd
.
run
()
results
=
self
.
get_logs
(
ERROR
)
self
.
assertIn
(
expected
,
results
[
-
1
])
self
.
clear_logs
()
def
test_suite
():
def
test_suite
():
return
unittest
.
makeSuite
(
uploadTestCase
)
return
unittest
.
makeSuite
(
uploadTestCase
)
...
...
Misc/NEWS
Dosyayı görüntüle @
6a8e626a
...
@@ -128,6 +128,9 @@ Core and Builtins
...
@@ -128,6 +128,9 @@ Core and Builtins
Library
Library
-------
-------
- Issue #21776: distutils.upload now correctly handles HTTPError.
Initial patch by Claudiu Popa.
- Issue #27114: Fix SSLContext._load_windows_store_certs fails with
- Issue #27114: Fix SSLContext._load_windows_store_certs fails with
PermissionError
PermissionError
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment