Skip to content
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

gh-88233: zipfile: refactor _strip_extra #102084

Merged
merged 5 commits into from
Sep 25, 2023

Conversation

jaraco
Copy link
Member

@jaraco jaraco commented Feb 20, 2023

While reviewing #96161, I too had difficulty fully understanding the complexities of _strip_extra function.

This PR refactors that function to use a class with methods separating the concerns (parsing, splitting, filtering, modeling) and using a higher-level abstraction to model the concept.

@jaraco
Copy link
Member Author

jaraco commented Jul 14, 2023

@serhiy-storchaka If you don't mind, would you take a look at this refactor - see if you have any concerns?

@jaraco jaraco merged commit e9791ba into python:main Sep 25, 2023
17 checks passed
@jaraco jaraco deleted the refactor/zipfile-extra branch September 25, 2023 23:47
@bedevere-bot
Copy link

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot AMD64 FreeBSD 3.x has failed when building commit e9791ba.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/1223/builds/222) and take a look at the build logs.
  4. Check if the failure is related to this commit (e9791ba) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/1223/builds/222

Failed tests:

  • test.test_concurrent_futures.test_shutdown

Failed subtests:

  • test_cancel_futures_wait_false - test.test_concurrent_futures.test_shutdown.ThreadPoolShutdownTest.test_cancel_futures_wait_false

Summary of the results of the build (if available):

==

Click to see traceback logs
Traceback (most recent call last):
  File "/buildbot/buildarea/3.x.ware-freebsd/build/Lib/test/test_concurrent_futures/test_shutdown.py", line 250, in test_cancel_futures_wait_false
    self.assertEqual(out.strip(), b"apple")
AssertionError: b'' != b'apple'

csm10495 pushed a commit to csm10495/cpython that referenced this pull request Sep 28, 2023
* Refactor zipfile._strip_extra to use higher level abstractions for extras instead of a heavy-state loop.

* Add blurb

* Remove _strip_extra and use _Extra.strip directly.

* Use memoryview to avoid unnecessary copies while splitting Extras.
Glyphack pushed a commit to Glyphack/cpython that referenced this pull request Sep 2, 2024
* Refactor zipfile._strip_extra to use higher level abstractions for extras instead of a heavy-state loop.

* Add blurb

* Remove _strip_extra and use _Extra.strip directly.

* Use memoryview to avoid unnecessary copies while splitting Extras.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants