https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=300270

            Bug ID: 300270
           Summary: www/py-flask-uploads: Fix import with Werkzeug 1.0+
                    (cannot import name 'secure_filename')
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: [email protected]
          Reporter: [email protected]
             Flags: maintainer-feedback?([email protected])
          Assignee: [email protected]

flask_uploads cannot be imported with the tree's Werkzeug 3.1, on any
Python version (3.12, the current default, shown):

    $ python3.12 -c 'import flask_uploads'
    ImportError: cannot import name 'secure_filename' from 'werkzeug'
(/usr/local/lib/python3.12/site-packages/werkzeug/__init__.py)

flask_uploads.py:26 imports secure_filename and FileStorage from the
werkzeug top level. Werkzeug 1.0 removed those re-exports.

The patch imports them from werkzeug.utils and werkzeug.datastructures,
bumps PORTREVISION and gives the patch in files/ a header saying what it
does and its upstream status (Description, Issue ID, Changeset, TODO).

Misc changes:
- the port switches to USE_PYTHON=pep517 (the package metadata becomes
  dist-info)

Impact: no ports depend on it.

Tested: poudriere bulk -C -t on 14.5-RELEASE amd64 with Python 3.12:
builds, and flask_uploads imports from the built package; the package
code also imports on 3.13 and 3.14. With Werkzeug 3.1.8 and Flask
3.1.3, uploading a file, refusing a disallowed one and serving an
upload work on 3.12 and 3.13.

After the switch to USE_PYTHON=pep517, the package installs its metadata
as .dist-info, and the modules still import from the built package.

Upstream: 0.2.1 (2016-07-23) is the last release. The maintained
community fork is Flask-Reuploaded; switching the port to it would be
the long-term option.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to