zipremove 0.6.0__tar.gz → 0.6.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zipremove
3
- Version: 0.6.0
3
+ Version: 0.6.1
4
4
  Summary: Extend `zipfile` with `remove`-related functionalities
5
5
  Home-page: https://github.com/danny0838/zipremove
6
6
  Author: Danny Lin
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = zipremove
3
- version = 0.6.0
3
+ version = 0.6.1
4
4
  author = Danny Lin
5
5
  author_email = danny0838@gmail.com
6
6
  url = https://github.com/danny0838/zipremove
@@ -177,8 +177,7 @@ class _ZipRepacker:
177
177
 
178
178
  Side effects:
179
179
  - Modifies the ZIP file in place.
180
- - Updates zfile.start_dir and zfile.data_offset to account for
181
- removed data.
180
+ - Updates zfile.start_dir to account for removed data.
182
181
  - Sets zfile._didModify to True.
183
182
  - Updates header_offset and clears _end_offset of referenced
184
183
  ZipInfo instances.
@@ -283,15 +282,6 @@ class _ZipRepacker:
283
282
  zfile.start_dir -= entry_offset
284
283
  zfile._didModify = True
285
284
 
286
- # polyfill: update _data_offset if exists
287
- if getattr(zfile, '_data_offset', None):
288
- try:
289
- offset = filelist[0].header_offset
290
- except IndexError:
291
- offset = zfile.start_dir
292
- if offset < zfile._data_offset:
293
- zfile._data_offset = offset
294
-
295
285
  # polyfill: clear ZipInfo._end_offset if exists
296
286
  # (Python >= 3.8 with fix #109858)
297
287
  if hasattr(ZipInfo, '_end_offset'):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zipremove
3
- Version: 0.6.0
3
+ Version: 0.6.1
4
4
  Summary: Extend `zipfile` with `remove`-related functionalities
5
5
  Home-page: https://github.com/danny0838/zipremove
6
6
  Author: Danny Lin
@@ -985,67 +985,9 @@ class AbstractRepackTests(RepackHelperMixin):
985
985
  fh.write(b'dummy ')
986
986
  fh.write(fz.read())
987
987
  with zipfile.ZipFile(TESTFN, 'a', self.compression) as zh:
988
- if hasattr(zh, 'data_offset'):
989
- self.assertEqual(zh.data_offset, 6)
990
988
  for i in ii:
991
989
  zh.remove(self.test_files[i][0])
992
990
  zh.repack()
993
- if hasattr(zh, 'data_offset'):
994
- self.assertEqual(zh.data_offset, 6)
995
-
996
- # check infolist
997
- self.assertEqual(
998
- [ComparableZipInfo(zi) for zi in zh.infolist()],
999
- [ComparableZipInfo(zi) for zi in expected_zinfos],
1000
- )
1001
-
1002
- # check file size
1003
- self.assertEqual(os.path.getsize(TESTFN), expected_size)
1004
-
1005
- # make sure the zip file is still valid
1006
- with zipfile.ZipFile(TESTFN) as zh:
1007
- self.assertIsNone(zh.testzip())
1008
-
1009
- def test_repack_prepended_file_entry(self):
1010
- for ii in ([0], [0, 1], [0, 1, 2]):
1011
- with self.subTest(remove=ii):
1012
- # calculate the expected results
1013
- fz = io.BytesIO()
1014
- test_files = [data for j, data in enumerate(self.test_files) if j not in ii]
1015
- self._prepare_zip_from_test_files(fz, test_files)
1016
- fz.seek(0)
1017
- with open(TESTFN, 'wb') as fh:
1018
- fh.write(b'dummy ')
1019
- fh.write(fz.read())
1020
- with zipfile.ZipFile(TESTFN) as zh:
1021
- expected_zinfos = list(zh.infolist())
1022
- expected_size = os.path.getsize(TESTFN)
1023
-
1024
- # do the removal and check the result
1025
- fz = io.BytesIO()
1026
- with zipfile.ZipFile(fz, 'w') as zh:
1027
- for j, (file, data) in enumerate(self.test_files):
1028
- if j in ii:
1029
- zh.writestr(file, data)
1030
- fz.seek(0)
1031
- prefix = fz.read()
1032
-
1033
- fz = io.BytesIO()
1034
- test_files = [data for j, data in enumerate(self.test_files) if j not in ii]
1035
- self._prepare_zip_from_test_files(fz, test_files)
1036
- fz.seek(0)
1037
-
1038
- with open(TESTFN, 'wb') as fh:
1039
- fh.write(b'dummy ')
1040
- fh.write(prefix)
1041
- fh.write(fz.read())
1042
-
1043
- with zipfile.ZipFile(TESTFN, 'a', self.compression) as zh:
1044
- if hasattr(zh, 'data_offset'):
1045
- self.assertEqual(zh.data_offset, 6 + len(prefix))
1046
- zh.repack()
1047
- if hasattr(zh, 'data_offset'):
1048
- self.assertEqual(zh.data_offset, 6)
1049
991
 
1050
992
  # check infolist
1051
993
  self.assertEqual(
@@ -1235,12 +1177,8 @@ class AbstractRepackTests(RepackHelperMixin):
1235
1177
  fh.write(b'dummy ')
1236
1178
  fh.write(fz.read())
1237
1179
  with zipfile.ZipFile(TESTFN, 'a', self.compression) as zh:
1238
- if hasattr(zh, 'data_offset'):
1239
- self.assertEqual(zh.data_offset, 6)
1240
1180
  zinfos = [zh.remove(self.test_files[i][0]) for i in ii]
1241
1181
  zh.repack(zinfos)
1242
- if hasattr(zh, 'data_offset'):
1243
- self.assertEqual(zh.data_offset, 6)
1244
1182
 
1245
1183
  # check infolist
1246
1184
  self.assertEqual(
File without changes
File without changes
File without changes
File without changes