Accept Credit Cards

One Page Slide Template For New Product Launch

free product presentation templates to customize online new product launch templates new product launch plan template new product launch keynote template six week product launch timeline powerpoint template google slides one page executive summary powerpoint presentation template slidekit product launch strategy presentation template wpfqtm new product launch plan template product launch timeline template powerpoint and google slides slidekit ppt on product launch at alex wright blog new product launch timeline powerpoint ppt template bundles ppt 6 weeks product launch timeline ppt google slides template slidekit new product launch timeline powerpoint ppt template bundles ppt new product launch timeline with team assignment ppt powerpoint top 10 product launch timeline template with examples and samples now next later roadmap template ppt and google slides slidekit how to create a product launching plan smartsheet all apple event summary slides 2019 2024 figma competition analysis slides evaluate your competitors competition analysis slides evaluate your competitors competition analysis slides evaluate your competitors competition analysis slides evaluate your competitors

:
Bank Of America Commercial Credit Card
Cute IG Notes: Fix tarfile.open failing on PAX archives with only global headers (Facebook Post Backgrounds Free)
When a PAX format tar archive contains only global headers and no regular members, tarfile.open() raised ReadError because the EOFHeaderError from reaching end-of-archive after the global header was being caught and converted to SubsequentHeaderError in TarInfo._proc_pax(). This prevented the caller from handling end-of-archive normally. Fix by letting EOFHeaderError propagate when processing a global header (XGLTYPE), while still treating it as a SubsequentHeaderError for extended headers (XHDTYPE) where a following file entry is mandatory. Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
1 parent Beauty Product Sale Post commit 3ccb1f8

One page executive summary powerpoint presentation template slidekit 3 files changed Cute Book Background

Lines changed: 40 additions & 0 deletions

Product Road Map Graphic One Page Slide Template For New Launch

Lib/tarfile.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1601,6 +1601,14 @@ def _proc_pax(self, tarfile):
16011601
# Fetch the next header.
16021602
try:
16031603
next = self._fromtarfile(tarfile, dircheck=False)
1604+
except EOFHeaderError:
1605+
if self.type == XGLTYPE:
1606+
# If this is a global header at the end of the archive
1607+
# (no regular members follow), let the EOFHeaderError
1608+
# propagate so the caller handles end-of-archive normally.
1609+
tarfile.offset = tarfile.fileobj.tell() - BLOCKSIZE
1610+
raise
1611+
raise SubsequentHeaderError("end of file header") from None
16041612
except HeaderError as e:
16051613
raise SubsequentHeaderError(str(e)) from None
16061614

Lib/test/test_tarfile.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2499,6 +2499,35 @@ def test_pax_global_header(self):
24992499
finally:
25002500
tar.close()
25012501

2502+
def test_pax_global_header_empty_archive(self):
2503+
# An archive that contains only a global header and no regular
2504+
# members should be opened successfully (gh-149578).
2505+
pax_headers = {"foo": "bar"}
2506+
2507+
# Create a PAX archive with global headers but no file entries.
2508+
with tarfile.open(tmpname, "w", format=tarfile.PAX_FORMAT,
2509+
pax_headers=pax_headers):
2510+
pass
2511+
2512+
# Reading the archive should work and preserve global headers.
2513+
with tarfile.open(tmpname) as tar:
2514+
self.assertEqual(tar.pax_headers, pax_headers)
2515+
self.assertEqual(tar.getmembers(), [])
2516+
2517+
# Appending to the archive should work.
2518+
with tarfile.open(tmpname, "a") as tar:
2519+
self.assertEqual(tar.pax_headers, pax_headers)
2520+
self.assertEqual(tar.getmembers(), [])
2521+
tar.addfile(tarfile.TarInfo("test"))
2522+
2523+
# Verify the appended member is present and global headers
2524+
# are preserved.
2525+
with tarfile.open(tmpname) as tar:
2526+
self.assertEqual(tar.pax_headers, pax_headers)
2527+
members = tar.getmembers()
2528+
self.assertEqual(len(members), 1)
2529+
self.assertEqual(members[0].name, "test")
2530+
25022531
def test_pax_extended_header(self):
25032532
# The fields from the pax header have priority over the
25042533
# TarInfo.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Fix :func:`tarfile.open` failing with :exc:`~tarfile.ReadError` when
2+
opening a PAX format tar archive that contains only global headers and
3+
no regular members.

Marketing Product Launch Banners One Page Slide Template For New

Comments
 (0)