vocker 0.3.0__py3-none-any.whl → 0.3.2__py3-none-any.whl

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.
vocker/repo/io.py CHANGED
@@ -236,6 +236,15 @@ class RepoTransfer:
236
236
  req = self.make_manifest_link_request(digest, destination, dict(open_file_once=_open))
237
237
  self.dedup.run_batch([req])
238
238
 
239
+ if not reader.parser.eof:
240
+ # We skipped the download because we found cached content, so we need to feed the
241
+ # remaining cached content into the parser.
242
+ with destination.open("rb") as file:
243
+ file.seek(reader.input_position)
244
+ while block := file.read(65536):
245
+ _feed(block)
246
+ _feed(None)
247
+
239
248
  return digest, reader.out_verified_data
240
249
 
241
250
  @staticmethod
@@ -664,6 +673,10 @@ class ManifestNodeReader:
664
673
 
665
674
  self.out_verified_data = ManifestNode.from_cbor_decoded(hf, cbor2.loads(bytes(q2)))
666
675
 
676
+ @property
677
+ def input_position(self) -> int:
678
+ return self.parser.position + len(self.parser.queue)
679
+
667
680
  @classmethod
668
681
  def from_bytes(cls, data):
669
682
  (self := cls()).parser.feed(data).feed(None)
vocker/system.py CHANGED
@@ -169,15 +169,15 @@ class UpdatingLocalRepository:
169
169
  def p(suffix):
170
170
  return path.with_name(path.name + suffix)
171
171
 
172
- # compress contents directly to zstandard
173
- with self.open(p(".zst"), "wb") as f1, cx.open_compressor(f1, "zst") as f:
172
+ # compress contents directly to xz
173
+ with self.open(p(".xz"), "wb") as f1, cx.open_compressor(f1, "xz") as f:
174
174
  yield f
175
175
 
176
- # compress to xz as well
177
- with self.open(p(".zst"), "rb") as fr1, cx.open_decompressor(fr1, "zst") as fr, self.open(
178
- p(".xz"), "wb"
179
- ) as fw1, cx.open_compressor(fw1, "xz") as fw:
180
- shutil.copyfileobj(fr, fw)
176
+ # # compress to zst as well
177
+ # with self.open(p(".xz"), "rb") as fr1, cx.open_decompressor(fr1, "xz") as fr, self.open(
178
+ # p(".zst"), "wb"
179
+ # ) as fw1, cx.open_compressor(fw1, "zst") as fw:
180
+ # shutil.copyfileobj(fr, fw)
181
181
 
182
182
  def iterdir(self, path: PurePath):
183
183
  raise NotImplementedError("not needed yet")
@@ -579,7 +579,7 @@ class System:
579
579
  with u.open(archive_path / "h.bin", "wb") as f:
580
580
  rio.HashesWriter(f).write_all(h for h in archive_digests)
581
581
 
582
- archive_size = u.get_path_for_open(archive_path / "a.zst", "wb").stat().st_size
582
+ archive_size = u.get_path_for_open(archive_path / "a.xz", "wb").stat().st_size
583
583
 
584
584
  shard_path = u.id_to_path("shard", (shard_id := u.allocate_id("shard")))
585
585
  with u.open_for_write_multi_compressed(shard_path / "p") as f:
@@ -608,7 +608,7 @@ class System:
608
608
  with u.open_for_write_multi_compressed(img_path / "u") as f:
609
609
  rio.cbor_dump({"image_type": image_type.value}, f)
610
610
 
611
- with u.open(img_path / "u.zst", "rb") as f1, cx.open_decompressor(f1, "zst") as f:
611
+ with u.open(img_path / "u.xz", "rb") as f1, cx.open_decompressor(f1, "xz") as f:
612
612
  hasher = hf()
613
613
  while b := f.read(65536):
614
614
  hasher.update(b)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vocker
3
- Version: 0.3.0
3
+ Version: 0.3.2
4
4
  Summary: Docker-like manager for virtualenvs
5
5
  Author-email: Eduard Christian Dumitrescu <eduard.c.dumitrescu@gmail.com>
6
6
  License: General Public License v3
@@ -7,13 +7,13 @@ vocker/image.py,sha256=lewNLLiXnd_N1CSs4gnYFEj-d5RkIBiPQiN8hNL2fIs,28181
7
7
  vocker/integer_to_path.py,sha256=5ghlupk9VLzXLtcfwnVEVFxtBxyT8A_ooV8-2EAnoFw,1433
8
8
  vocker/multihash.py,sha256=-VhksUBam6N01fICtTg_TJrJcEIHJrYVKzkD1B_bdfI,8760
9
9
  vocker/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- vocker/system.py,sha256=v3ONv335EqDdCzne--ybTZPdHgUZ_kRKhzCALXjrcFw,25728
10
+ vocker/system.py,sha256=fX3By0_MqC705T1IdmkxAY4FM6VaY8x6FdegB6a8-dM,25727
11
11
  vocker/util.py,sha256=1Escs1FSrzrTy3Rzhn9r41K75KTt9VjQV91iT3P_FyI,3275
12
12
  vocker/util_models.py,sha256=2bN5eousF92oH7BAv1ZFoyh6iqNAnJ_niiclp2_RaHI,395
13
13
  vocker/repo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  vocker/repo/compression.py,sha256=l2g1e6SaugpqORbg3zwRM1zwlEXedbYOihm5nDpCejU,6442
15
- vocker/repo/io.py,sha256=Juzt7vHjfd-H36tWpdYZNh7ucf-h0bC7_WwZ46liNx0,25614
16
- vocker-0.3.0.dist-info/METADATA,sha256=a7Qhq98kbIQe8sQfef7xl5S3dXZUN54Hx0snel0MTW4,3835
17
- vocker-0.3.0.dist-info/WHEEL,sha256=lTU6B6eIfYoiQJTZNc-fyaR6BpL6ehTzU3xGYxn2n8k,91
18
- vocker-0.3.0.dist-info/top_level.txt,sha256=5x7g7T2L44UKODxVZ4vmWjxDnnruxaZ5yloYi0wLoUg,7
19
- vocker-0.3.0.dist-info/RECORD,,
15
+ vocker/repo/io.py,sha256=tcv87DqGqmLAJ7Y0QHTzdQxjH7owwLfhZrNKDACFL_k,26116
16
+ vocker-0.3.2.dist-info/METADATA,sha256=aqR8I2BiQiImrx-2pUmO_hpFtUJg6R6yj4F5zma_Qmk,3835
17
+ vocker-0.3.2.dist-info/WHEEL,sha256=lTU6B6eIfYoiQJTZNc-fyaR6BpL6ehTzU3xGYxn2n8k,91
18
+ vocker-0.3.2.dist-info/top_level.txt,sha256=5x7g7T2L44UKODxVZ4vmWjxDnnruxaZ5yloYi0wLoUg,7
19
+ vocker-0.3.2.dist-info/RECORD,,
File without changes