Skip to content

Refactor zipfile to ease subclassing and enhancement #81719

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

Open
danifus mannequin opened this issue Jul 10, 2019 · 4 comments
Open

Refactor zipfile to ease subclassing and enhancement #81719

danifus mannequin opened this issue Jul 10, 2019 · 4 comments
Labels
stdlib Python modules in the Lib dir type-refactor Code refactoring (with no changes in behavior)

Comments

@danifus
Copy link
Mannequin

danifus mannequin commented Jul 10, 2019

BPO 37538
Nosy @serhiy-storchaka, @danifus
PRs
  • bpo-37538: Zipfile refactor #14957
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = None
    created_at = <Date 2019-07-10.06:58:30.304>
    labels = ['type-feature', 'library', '3.9']
    title = 'Refactor zipfile to ease subclassing and enhancement'
    updated_at = <Date 2019-07-26.09:26:37.550>
    user = 'https://github.com/danifus'

    bugs.python.org fields:

    activity = <Date 2019-07-26.09:26:37.550>
    actor = 'dhillier'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = ['Library (Lib)']
    creation = <Date 2019-07-10.06:58:30.304>
    creator = 'dhillier'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 37538
    keywords = ['patch']
    message_count = 4.0
    messages = ['347604', '347609', '347613', '347972']
    nosy_count = 2.0
    nosy_names = ['serhiy.storchaka', 'dhillier']
    pr_nums = ['14957']
    priority = 'normal'
    resolution = None
    stage = 'patch review'
    status = 'open'
    superseder = None
    type = 'enhancement'
    url = 'https://bugs.python.org/issue37538'
    versions = ['Python 3.9']

    @danifus
    Copy link
    Mannequin Author

    danifus mannequin commented Jul 10, 2019

    I've written https://github.com/danifus/pyzipper which incorporates a
    refactor of zipfile.py in order to support winzip AES encryption. I don't
    intend to include the crypto code but I would like to incorporate the
    refactor to help others subclass and extend the objects found in zipfile.py

    For a longer description of the general approach I've taken to the refactor,
    see the python-ideas thread:
    https://mail.python.org/archives/list/python-ideas@python.org/thread/QCKHI5JYMKOPMIF6Q2NI7JIFHV6KO746/#QCKHI5JYMKOPMIF6Q2NI7JIFHV6KO746

    @danifus danifus mannequin added 3.9 only security fixes stdlib Python modules in the Lib dir type-feature A feature request or enhancement labels Jul 10, 2019
    @danifus
    Copy link
    Mannequin Author

    danifus mannequin commented Jul 10, 2019

    I've started a branch on my github fork if anyone wants to follow along.

    https://github.com/danifus/cpython/tree/zipfile_refactor

    Is there a better way to manage this in terms of review and suggestions as I add more commits?

    @serhiy-storchaka
    Copy link
    Member

    I did not read your code yet, but I think it is the right way.

    If your btanch contains changes which you do not want to commit to CPython, but which makes the purpose of other changes clearer, you can create a PR against the master in your fork

    @danifus
    Copy link
    Mannequin Author

    danifus mannequin commented Jul 15, 2019

    Hi,

    Here is a pull request against my fork:

    https://github.com/danifus/cpython/pull/1/files

    The overall behaviour of zipfile remains the same and I've tried to call out any behaviour changes in the extended commit messages (usually with ** markers).

    There is another branch (https://github.com/danifus/cpython/tree/zipfile_refactor_2) which has a couple of extra commits which slightly changes some functionality.

    Any review would be greatly appreciated! Happy to make any changes to the code or general approach taken.

    Thanks,
    Dan

    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    @picnixz picnixz added type-refactor Code refactoring (with no changes in behavior) and removed type-feature A feature request or enhancement 3.9 only security fixes labels Jun 1, 2025
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    stdlib Python modules in the Lib dir type-refactor Code refactoring (with no changes in behavior)
    Projects
    Status: No status
    Development

    No branches or pull requests

    2 participants
    pFad - Phonifier reborn

    Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

    Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


    Alternative Proxies:

    Alternative Proxy

    pFad Proxy

    pFad v3 Proxy

    pFad v4 Proxy