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
3763ea86
Kaydet (Commit)
3763ea86
authored
May 06, 2017
tarafından
Serhiy Storchaka
Kaydeden (comit)
GitHub
May 06, 2017
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Revert bpo-26293 for zipfile breakage. See also bpo-29094. (#1484)
üst
a12df7b7
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
21 deletions
+13
-21
zipfile.py
Lib/zipfile.py
+13
-14
NEWS
Misc/NEWS
+0
-7
No files found.
Lib/zipfile.py
Dosyayı görüntüle @
3763ea86
...
...
@@ -1109,7 +1109,6 @@ class ZipFile:
# set the modified flag so central directory gets written
# even if no files are added to the archive
self
.
_didModify
=
True
self
.
_start_disk
=
0
try
:
self
.
start_dir
=
self
.
fp
.
tell
()
except
(
AttributeError
,
OSError
):
...
...
@@ -1135,7 +1134,7 @@ class ZipFile:
# set the modified flag so central directory gets written
# even if no files are added to the archive
self
.
_didModify
=
True
self
.
start_dir
=
self
.
_start_disk
=
self
.
fp
.
tell
()
self
.
start_dir
=
self
.
fp
.
tell
()
else
:
raise
ValueError
(
"Mode must be 'r', 'w', 'x', or 'a'"
)
except
:
...
...
@@ -1179,18 +1178,17 @@ class ZipFile:
offset_cd
=
endrec
[
_ECD_OFFSET
]
# offset of central directory
self
.
_comment
=
endrec
[
_ECD_COMMENT
]
# archive comment
# self._start_disk: Position of the start of ZIP archive
# It is zero, unless ZIP was concatenated to another file
self
.
_start_disk
=
endrec
[
_ECD_LOCATION
]
-
size_cd
-
offset_cd
# "concat" is zero, unless zip was concatenated to another file
concat
=
endrec
[
_ECD_LOCATION
]
-
size_cd
-
offset_cd
if
endrec
[
_ECD_SIGNATURE
]
==
stringEndArchive64
:
# If Zip64 extension structures are present, account for them
self
.
_start_disk
-=
(
sizeEndCentDir64
+
sizeEndCentDir64Locator
)
concat
-=
(
sizeEndCentDir64
+
sizeEndCentDir64Locator
)
if
self
.
debug
>
2
:
inferred
=
self
.
_start_disk
+
offset_cd
print
(
"given, inferred, offset"
,
offset_cd
,
inferred
,
self
.
_start_disk
)
inferred
=
concat
+
offset_cd
print
(
"given, inferred, offset"
,
offset_cd
,
inferred
,
concat
)
# self.start_dir: Position of start of central directory
self
.
start_dir
=
offset_cd
+
self
.
_start_disk
self
.
start_dir
=
offset_cd
+
concat
fp
.
seek
(
self
.
start_dir
,
0
)
data
=
fp
.
read
(
size_cd
)
fp
=
io
.
BytesIO
(
data
)
...
...
@@ -1230,7 +1228,7 @@ class ZipFile:
t
>>
11
,
(
t
>>
5
)
&
0x3F
,
(
t
&
0x1F
)
*
2
)
x
.
_decodeExtra
()
x
.
header_offset
=
x
.
header_offset
+
self
.
_start_disk
x
.
header_offset
=
x
.
header_offset
+
concat
self
.
filelist
.
append
(
x
)
self
.
NameToInfo
[
x
.
filename
]
=
x
...
...
@@ -1701,10 +1699,11 @@ class ZipFile:
file_size
=
zinfo
.
file_size
compress_size
=
zinfo
.
compress_size
header_offset
=
zinfo
.
header_offset
-
self
.
_start_disk
if
header_offset
>
ZIP64_LIMIT
:
extra
.
append
(
header_offset
)
if
zinfo
.
header_offset
>
ZIP64_LIMIT
:
extra
.
append
(
zinfo
.
header_offset
)
header_offset
=
0xffffffff
else
:
header_offset
=
zinfo
.
header_offset
extra_data
=
zinfo
.
extra
min_version
=
0
...
...
@@ -1751,7 +1750,7 @@ class ZipFile:
# Write end-of-zip-archive record
centDirCount
=
len
(
self
.
filelist
)
centDirSize
=
pos2
-
self
.
start_dir
centDirOffset
=
self
.
start_dir
-
self
.
_start_disk
centDirOffset
=
self
.
start_dir
requires_zip64
=
None
if
centDirCount
>
ZIP_FILECOUNT_LIMIT
:
requires_zip64
=
"Files count"
...
...
Misc/NEWS
Dosyayı görüntüle @
3763ea86
...
...
@@ -602,9 +602,6 @@ Library
-
Issue
#
28985
:
Update
authorizer
constants
in
sqlite3
module
.
Patch
by
Dingyuan
Wang
.
-
Issue
#
29094
:
Offsets
in
a
ZIP
file
created
with
extern
file
object
and
modes
"w"
and
"x"
now
are
relative
to
the
start
of
the
file
.
-
Issue
#
29079
:
Prevent
infinite
loop
in
pathlib
.
resolve
()
on
Windows
-
Issue
#
13051
:
Fixed
recursion
errors
in
large
or
resized
...
...
@@ -784,10 +781,6 @@ Library
- Issue #28317: The disassembler now decodes FORMAT_VALUE argument.
- Issue #26293: Fixed writing ZIP files that starts not from the start of the
file. Offsets in ZIP file now are relative to the start of the archive in
conforming to the specification.
- Issue #28380: unittest.mock Mock autospec functions now properly support
assert_called, assert_not_called, and assert_called_once.
...
...
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