-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BUG: Don't close stream passed to PdfWriter.write() #2909
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2909 +/- ##
=======================================
Coverage 96.39% 96.39%
=======================================
Files 52 52
Lines 8730 8741 +11
Branches 1590 1590
=======================================
+ Hits 8415 8426 +11
Misses 186 186
Partials 129 129 ☔ View full report in Codecov by Sentry. |
I've created PR #2913 that also deals with Context manager. Consistency should be checked |
@stefan6419846 let me know how you'd like to proceed |
While I doubt that many users really rely on it, the deprecation process mentioned in https://github.com/py-pdf/pypdf/pull/2909/files#r1808253593 is still necessary as we are replacing a public attribute. |
The Windows CI test looks like a spurious failure due to a file missing from cache. I'm not sure what to do with the test coverage issues, as the lines cited are after the deprecation logic. |
Do not worry about the Windows CI - we will have a look at this. Windows does not use the cache for different reasons, but we are currently evaluating alternatives to the usually failing arXiv downloads while avoiding copyright issues. For the coverage, we tend to have a corresponding test which ensures the deprecation message being issued correctly (at least for past deprecations). This should work here as well by trying to read and write the value in one dedicated test function and looking into |
@stefan6419846 I tried to rely on |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. Looks good for me.
## What's new ### Deprecations (DEP) - Deprecate with replacement CCITParameters (#3019) by @j-t-1 - Correct deprecation of interiour_color (#2947) by @j-t-1 ### New Features (ENH) - Support alternative (U)F names for embedded file retrieval (#3072) by @stefan6419846 - Adding support for reading .metadata.keywords (#2939) by @Lucas-C ### Bug Fixes (BUG) - Handle further Tf operators in text extraction layout mode (#3073) by @blushingpenguin - Ensure `add_metadata` can deal with `_info = None` (#3040) by @xmo-odoo - Handle IndirectObject in CCITTFaxDecode filter (#2965) by @stefan6419846 - Handle chained colorspace for inline images when no filter is set (#3008) by @stefan6419846 - Avoid extracting inline images twice and dropping other operators (#3002) by @stefan6419846 - Fixed reference of value with `str.__new__` in TextStringObject (#2952) by @thomas-forte - Handle indirect objects in font width calculations (#2967) by @nsw42 - Title sometimes is bytes and not str (#2930) by @reformy - Fix undefined variable for text extraction (regression) (#2934) by @stefan6419846 - Don't close stream passed to PdfWriter.write() (#2909) by @alexaryn ### Robustness (ROB) - Handle zero height fonts when extracting text (#3075) by @blushingpenguin - Deal with content streams not containing streams (#3005) by @stefan6419846 - Gracefully handle some text operators when the operands are missing (#3006) by @stefan6419846 - Fall back to non-Adobe Ascii85 format for missing end markers (#3007) by @stefan6419846 - Ignore odd-length strings when processing cmap lines (#3009) by @stefan6419846 - Skip annotation destination being NullObject in PdfWriter (#2964) by @stefan6419846 - Skip destination page being None in PdfWriter (#2963) by @dxsooo - Fix infinite loop case when reading null objects within an Array by @jakep-allenai - Fixing infinite loop in ArrayObject read_from_stream (#2928) by @jakep-allenai ### Documentation (DOC) - Add note about default line colors (#3014) by @stefan6419846 ### Developer Experience (DEV) - Remove ignoring Ruff rule PGH004 (#3071) by @j-t-1 - Tidy ignore array in tool.ruff.lint (#3069) by @j-t-1 - Move Windows CI to Python 3.13 (#3003) by @stefan6419846 - Move to Ubuntu 22.04 (#3004) by @stefan6419846 ### Maintenance (MAINT) - Fix formatting of warning message and include exception message (#3076) by @stefan6419846 - Narrow return type for `ContentStream.operations` (#2941) by @kmurphy4 ### Testing (TST) - Fix image similarity for upcoming Ubuntu 24.04 (#3039) by @stefan6419846 - Replace broken Apache Tika Corpora urls (#3041) by @stefan6419846 ### Code Style (STY) - Add form feed to WHITESPACES (#3054) by @j-t-1 - Lots of small internal changes by @j-t-1 [Full Changelog](5.1.0...5.2.0) Signed-off-by: stefan6419846 <[email protected]>
Closes #2905