-
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: encode_pdfdocencoding() always returns bytes #2440
BUG: encode_pdfdocencoding() always returns bytes #2440
Conversation
I don't have any Windows machine to troubleshoot the test 🤷 |
Thanks for the PR. Are you able to add a corresponding test here as well? |
I can add a test function that verifies that Would it be enough? |
Yes, this should be sufficient in my opinion. |
095ac87
to
e94f369
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2440 +/- ##
=======================================
Coverage 94.43% 94.43%
=======================================
Files 49 49
Lines 8008 8008
Branches 1616 1616
=======================================
Hits 7562 7562
Misses 276 276
Partials 170 170 ☔ View full report in Codecov by Sentry. |
404c0f6
to
e3f1680
Compare
In the function encode_pdfdocencoding, cast its return value from bytearray to bytes to match its function signature. This casting is necessary because bytearray is duck type compatible with bytes in mypy, however this library expects only bytes in its Encryption class.
e3f1680
to
25d5c93
Compare
I think we are good now. BTW, I noticed that the tests test_iss1723 and test_iss1767 have the same test file name but with different URLs. Can this create a conflict? See https://github.com/py-pdf/pypdf/blob/main/tests/test_writer.py#L1405-L1423 |
The test file name in For this reason, we probably do not need the initial download, but it should be sufficient to just use different/correct target names. |
What about naming the file test_iss1767.pdf to be consistent with the naming pattern of test_iss1723? |
This is what I would propose as well. |
Sent a separate PR to fix the naming conflict: #2445 |
Is this PR good for approval? |
25d5c93
to
8299131
Compare
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.
LGTM.
Nice! Thanks for taking care of it - and nice to see that this process works technically and in practice 🎉 Made my day :-) |
You are very welcome. Thank you for maintaining this library. |
@MartinThoma It seems like your message has been a little bit misleading, but yes, the recent changes with the write permissions have worked 👍 |
## What's new Generating name objects (`NameObject`) without a leading slash is considered deprecated now. Previously, just a plain warning would be logged, leading to possibly invalid PDF files. According to our deprecation policy, this will log a *DeprecationWarning* for now. ### New Features (ENH) - Add get_pages_from_field (#2494) by @pubpub-zz - Add reattach_fields function (#2480) by @pubpub-zz - Automatic access to pointed object for IndirectObject (#2464) by @pubpub-zz ### Bug Fixes (BUG) - Missing error on name without leading / (#2387) by @Rak424 - encode_pdfdocencoding() always returns bytes (#2440) by @sbourlon - BI in text content identified as image tag (#2459) by @pubpub-zz ### Robustness (ROB) - Missing basefont entry in type 3 font (#2469) by @pubpub-zz ### Documentation (DOC) - Improve lossless compression example (#2488) by @j-t-1 - Amend robustness documentation (#2479) by @j-t-1 ### Developer Experience (DEV) - Fix changelog for UTF-8 characters (#2462) by @stefan6419846 ### Maintenance (MAINT) - Add _get_page_number_from_indirect in writer (#2493) by @pubpub-zz - Remove user assignment for feature requests (#2483) by @stefan6419846 - Remove reference to old 2.0.0 branch (#2482) by @stefan6419846 ### Testing (TST) - Fix benchmark failures (#2481) by @stefan6419846 - Broken test due to expired test file URL (#2468) by @pubpub-zz - Resolve file naming conflict in test_iss1767 (#2445) by @sbourlon [Full Changelog](4.0.2...4.1.0)
## What's new Generating name objects (`NameObject`) without a leading slash is considered deprecated now. Previously, just a plain warning would be logged, leading to possibly invalid PDF files. According to our deprecation policy, this will log a *DeprecationWarning* for now. ### New Features (ENH) - Add get_pages_from_field (#2494) by @pubpub-zz - Add reattach_fields function (#2480) by @pubpub-zz - Automatic access to pointed object for IndirectObject (#2464) by @pubpub-zz ### Bug Fixes (BUG) - Missing error on name without leading / (#2387) by @Rak424 - encode_pdfdocencoding() always returns bytes (#2440) by @sbourlon - BI in text content identified as image tag (#2459) by @pubpub-zz ### Robustness (ROB) - Missing basefont entry in type 3 font (#2469) by @pubpub-zz ### Documentation (DOC) - Improve lossless compression example (#2488) by @j-t-1 - Amend robustness documentation (#2479) by @j-t-1 ### Developer Experience (DEV) - Fix changelog for UTF-8 characters (#2462) by @stefan6419846 ### Maintenance (MAINT) - Add _get_page_number_from_indirect in writer (#2493) by @pubpub-zz - Remove user assignment for feature requests (#2483) by @stefan6419846 - Remove reference to old 2.0.0 branch (#2482) by @stefan6419846 ### Testing (TST) - Fix benchmark failures (#2481) by @stefan6419846 - Broken test due to expired test file URL (#2468) by @pubpub-zz - Resolve file naming conflict in test_iss1767 (#2445) by @sbourlon [Full Changelog](4.0.2...4.1.0)
Issue: #2434
In the function encode_pdfdocencoding, cast its return value from bytearray to bytes to match its function signature.
This casting is necessary because bytearray is duck type compatible with bytes in mypy, however this library expects only bytes in its Encryption class.