Skip to content

Commit

Permalink
Update py-flask to 0.11.
Browse files Browse the repository at this point in the history
Version 0.11
------------

Released on May 29th 2016, codename Absinthe.

- Added support to serializing top-level arrays to :func:`flask.jsonify`. This
  introduces a security risk in ancient browsers. See
  :ref:`json-security` for details.
- Added before_render_template signal.
- Added `**kwargs` to :meth:`flask.Test.test_client` to support passing
  additional keyword arguments to the constructor of
  :attr:`flask.Flask.test_client_class`.
- Added ``SESSION_REFRESH_EACH_REQUEST`` config key that controls the
  set-cookie behavior.  If set to ``True`` a permanent session will be
  refreshed each request and get their lifetime extended, if set to
  ``False`` it will only be modified if the session actually modifies.
  Non permanent sessions are not affected by this and will always
  expire if the browser window closes.
- Made Flask support custom JSON mimetypes for incoming data.
- Added support for returning tuples in the form ``(response, headers)``
  from a view function.
- Added :meth:`flask.Config.from_json`.
- Added :attr:`flask.Flask.config_class`.
- Added :meth:`flask.config.Config.get_namespace`.
- Templates are no longer automatically reloaded outside of debug mode. This
  can be configured with the new ``TEMPLATES_AUTO_RELOAD`` config key.
- Added a workaround for a limitation in Python 3.3's namespace loader.
- Added support for explicit root paths when using Python 3.3's namespace
  packages.
- Added :command:`flask` and the ``flask.cli`` module to start the local
  debug server through the click CLI system.  This is recommended over the old
  ``flask.run()`` method as it works faster and more reliable due to a
  different design and also replaces ``Flask-Script``.
- Error handlers that match specific classes are now checked first,
  thereby allowing catching exceptions that are subclasses of HTTP
  exceptions (in ``werkzeug.exceptions``).  This makes it possible
  for an extension author to create exceptions that will by default
  result in the HTTP error of their choosing, but may be caught with
  a custom error handler if desired.
- Added :meth:`flask.Config.from_mapping`.
- Flask will now log by default even if debug is disabled.  The log format is
  now hardcoded but the default log handling can be disabled through the
  ``LOGGER_HANDLER_POLICY`` configuration key.
- Removed deprecated module functionality.
- Added the ``EXPLAIN_TEMPLATE_LOADING`` config flag which when enabled will
  instruct Flask to explain how it locates templates.  This should help
  users debug when the wrong templates are loaded.
- Enforce blueprint handling in the order they were registered for template
  loading.
- Ported test suite to py.test.
- Deprecated ``request.json`` in favour of ``request.get_json()``.
- Add "pretty" and "compressed" separators definitions in jsonify() method.
  Reduces JSON response size when JSONIFY_PRETTYPRINT_REGULAR=False by removing
  unnecessary white space included by default after separators.
- JSON responses are now terminated with a newline character, because it is a
  convention that UNIX text files end with a newline and some clients don't
  deal well when this newline is missing. See
  pallets/flask#1262 -- this came up originally as a
  part of https://github.com/kennethreitz/httpbin/issues/168
- The automatically provided ``OPTIONS`` method is now correctly disabled if
  the user registered an overriding rule with the lowercase-version
  ``options`` (issue ``#1288``).
- ``flask.json.jsonify`` now supports the ``datetime.date`` type (pull request
  ``#1326``).
- Don't leak exception info of already catched exceptions to context teardown
  handlers (pull request ``#1393``).
- Allow custom Jinja environment subclasses (pull request ``#1422``).
- ``flask.g`` now has ``pop()`` and ``setdefault`` methods.
- Turn on autoescape for ``flask.templating.render_template_string`` by default
  (pull request ``#1515``).
- ``flask.ext`` is now deprecated (pull request ``#1484``).
- ``send_from_directory`` now raises BadRequest if the filename is invalid on
  the server OS (pull request ``#1763``).
- Added the ``JSONIFY_MIMETYPE`` configuration variable (pull request ``#1728``).
- Exceptions during teardown handling will no longer leave bad application
  contexts lingering around.
  • Loading branch information
kleink committed Jun 1, 2016
1 parent 081eca9 commit 83023af
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 154 deletions.
1 change: 1 addition & 0 deletions www/py-flask/ALTERNATIVES
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
bin/flask @PREFIX@/bin/flask@PYVERSSUFFIX@
15 changes: 12 additions & 3 deletions www/py-flask/Makefile
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# $NetBSD: Makefile,v 1.7 2014/01/25 10:30:28 wiz Exp $
# $NetBSD: Makefile,v 1.8 2016/06/01 21:05:46 kleink Exp $

DISTNAME= Flask-0.10.1
DISTNAME= Flask-0.11
PKGNAME= ${PYPKGPREFIX}-${DISTNAME:tl}
CATEGORIES= www python
MASTER_SITES= http://pypi.python.org/packages/source/F/Flask/
MASTER_SITES= ${MASTER_SITE_PYPI:=F/Flask/}

MAINTAINER= kleink@NetBSD.org
HOMEPAGE= http://flask.pocoo.org/
Expand All @@ -12,9 +12,18 @@ LICENSE= modified-bsd

USE_LANGUAGES= # empty

PLIST_SUBST+= PYVERSSUFFIX=${PYVERSSUFFIX:Q}

DEPENDS+= ${PYPKGPREFIX}-click>=2.0:../../devel/py-click
DEPENDS+= ${PYPKGPREFIX}-itsdangerous-[0-9]*:../../security/py-itsdangerous
DEPENDS+= ${PYPKGPREFIX}-jinja2-[0-9]*:../../textproc/py-jinja2
DEPENDS+= ${PYPKGPREFIX}-werkzeug-[0-9]*:../../www/py-werkzeug

# actually TEST_DEPENDS
BUILD_DEPENDS+= ${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test

do-test:
cd ${WRKSRC} && py.test-${PYVERSSUFFIX}

.include "../../lang/python/egg.mk"
.include "../../mk/bsd.pkg.mk"
155 changes: 9 additions & 146 deletions www/py-flask/PLIST
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
@comment $NetBSD: PLIST,v 1.3 2013/07/09 17:24:46 kleink Exp $
@comment $NetBSD: PLIST,v 1.4 2016/06/01 21:05:46 kleink Exp $
bin/flask${PYVERSSUFFIX}
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
${PYSITELIB}/${EGG_INFODIR}/requires.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
${PYSITELIB}/flask/__init__.py
${PYSITELIB}/flask/__init__.pyc
${PYSITELIB}/flask/__init__.pyo
${PYSITELIB}/flask/__main__.py
${PYSITELIB}/flask/__main__.pyc
${PYSITELIB}/flask/__main__.pyo
${PYSITELIB}/flask/_compat.py
${PYSITELIB}/flask/_compat.pyc
${PYSITELIB}/flask/_compat.pyo
Expand All @@ -17,6 +22,9 @@ ${PYSITELIB}/flask/app.pyo
${PYSITELIB}/flask/blueprints.py
${PYSITELIB}/flask/blueprints.pyc
${PYSITELIB}/flask/blueprints.pyo
${PYSITELIB}/flask/cli.py
${PYSITELIB}/flask/cli.pyc
${PYSITELIB}/flask/cli.pyo
${PYSITELIB}/flask/config.py
${PYSITELIB}/flask/config.pyc
${PYSITELIB}/flask/config.pyo
Expand Down Expand Up @@ -44,9 +52,6 @@ ${PYSITELIB}/flask/json.pyo
${PYSITELIB}/flask/logging.py
${PYSITELIB}/flask/logging.pyc
${PYSITELIB}/flask/logging.pyo
${PYSITELIB}/flask/module.py
${PYSITELIB}/flask/module.pyc
${PYSITELIB}/flask/module.pyo
${PYSITELIB}/flask/sessions.py
${PYSITELIB}/flask/sessions.pyc
${PYSITELIB}/flask/sessions.pyo
Expand All @@ -59,148 +64,6 @@ ${PYSITELIB}/flask/templating.pyo
${PYSITELIB}/flask/testing.py
${PYSITELIB}/flask/testing.pyc
${PYSITELIB}/flask/testing.pyo
${PYSITELIB}/flask/testsuite/__init__.py
${PYSITELIB}/flask/testsuite/__init__.pyc
${PYSITELIB}/flask/testsuite/__init__.pyo
${PYSITELIB}/flask/testsuite/appctx.py
${PYSITELIB}/flask/testsuite/appctx.pyc
${PYSITELIB}/flask/testsuite/appctx.pyo
${PYSITELIB}/flask/testsuite/basic.py
${PYSITELIB}/flask/testsuite/basic.pyc
${PYSITELIB}/flask/testsuite/basic.pyo
${PYSITELIB}/flask/testsuite/blueprints.py
${PYSITELIB}/flask/testsuite/blueprints.pyc
${PYSITELIB}/flask/testsuite/blueprints.pyo
${PYSITELIB}/flask/testsuite/config.py
${PYSITELIB}/flask/testsuite/config.pyc
${PYSITELIB}/flask/testsuite/config.pyo
${PYSITELIB}/flask/testsuite/deprecations.py
${PYSITELIB}/flask/testsuite/deprecations.pyc
${PYSITELIB}/flask/testsuite/deprecations.pyo
${PYSITELIB}/flask/testsuite/examples.py
${PYSITELIB}/flask/testsuite/examples.pyc
${PYSITELIB}/flask/testsuite/examples.pyo
${PYSITELIB}/flask/testsuite/ext.py
${PYSITELIB}/flask/testsuite/ext.pyc
${PYSITELIB}/flask/testsuite/ext.pyo
${PYSITELIB}/flask/testsuite/helpers.py
${PYSITELIB}/flask/testsuite/helpers.pyc
${PYSITELIB}/flask/testsuite/helpers.pyo
${PYSITELIB}/flask/testsuite/regression.py
${PYSITELIB}/flask/testsuite/regression.pyc
${PYSITELIB}/flask/testsuite/regression.pyo
${PYSITELIB}/flask/testsuite/reqctx.py
${PYSITELIB}/flask/testsuite/reqctx.pyc
${PYSITELIB}/flask/testsuite/reqctx.pyo
${PYSITELIB}/flask/testsuite/signals.py
${PYSITELIB}/flask/testsuite/signals.pyc
${PYSITELIB}/flask/testsuite/signals.pyo
${PYSITELIB}/flask/testsuite/static/index.html
${PYSITELIB}/flask/testsuite/subclassing.py
${PYSITELIB}/flask/testsuite/subclassing.pyc
${PYSITELIB}/flask/testsuite/subclassing.pyo
${PYSITELIB}/flask/testsuite/templates/_macro.html
${PYSITELIB}/flask/testsuite/templates/context_template.html
${PYSITELIB}/flask/testsuite/templates/escaping_template.html
${PYSITELIB}/flask/testsuite/templates/mail.txt
${PYSITELIB}/flask/testsuite/templates/nested/nested.txt
${PYSITELIB}/flask/testsuite/templates/simple_template.html
${PYSITELIB}/flask/testsuite/templates/template_filter.html
${PYSITELIB}/flask/testsuite/templates/template_test.html
${PYSITELIB}/flask/testsuite/templating.py
${PYSITELIB}/flask/testsuite/templating.pyc
${PYSITELIB}/flask/testsuite/templating.pyo
${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/__init__.py
${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/__init__.pyc
${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/__init__.pyo
${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/__init__.py
${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/__init__.pyc
${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/__init__.pyo
${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/admin/__init__.py
${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/admin/__init__.pyc
${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/admin/__init__.pyo
${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/admin/static/css/test.css
${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/admin/static/test.txt
${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/admin/templates/admin/index.html
${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/frontend/__init__.py
${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/frontend/__init__.pyc
${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/frontend/__init__.pyo
${PYSITELIB}/flask/testsuite/test_apps/blueprintapp/apps/frontend/templates/frontend/index.html
${PYSITELIB}/flask/testsuite/test_apps/config_module_app.py
${PYSITELIB}/flask/testsuite/test_apps/config_module_app.pyc
${PYSITELIB}/flask/testsuite/test_apps/config_module_app.pyo
${PYSITELIB}/flask/testsuite/test_apps/config_package_app/__init__.py
${PYSITELIB}/flask/testsuite/test_apps/config_package_app/__init__.pyc
${PYSITELIB}/flask/testsuite/test_apps/config_package_app/__init__.pyo
${PYSITELIB}/flask/testsuite/test_apps/flask_broken/__init__.py
${PYSITELIB}/flask/testsuite/test_apps/flask_broken/__init__.pyc
${PYSITELIB}/flask/testsuite/test_apps/flask_broken/__init__.pyo
${PYSITELIB}/flask/testsuite/test_apps/flask_broken/b.py
${PYSITELIB}/flask/testsuite/test_apps/flask_broken/b.pyc
${PYSITELIB}/flask/testsuite/test_apps/flask_broken/b.pyo
${PYSITELIB}/flask/testsuite/test_apps/flask_newext_package/__init__.py
${PYSITELIB}/flask/testsuite/test_apps/flask_newext_package/__init__.pyc
${PYSITELIB}/flask/testsuite/test_apps/flask_newext_package/__init__.pyo
${PYSITELIB}/flask/testsuite/test_apps/flask_newext_package/submodule.py
${PYSITELIB}/flask/testsuite/test_apps/flask_newext_package/submodule.pyc
${PYSITELIB}/flask/testsuite/test_apps/flask_newext_package/submodule.pyo
${PYSITELIB}/flask/testsuite/test_apps/flask_newext_simple.py
${PYSITELIB}/flask/testsuite/test_apps/flask_newext_simple.pyc
${PYSITELIB}/flask/testsuite/test_apps/flask_newext_simple.pyo
${PYSITELIB}/flask/testsuite/test_apps/flaskext/__init__.py
${PYSITELIB}/flask/testsuite/test_apps/flaskext/__init__.pyc
${PYSITELIB}/flask/testsuite/test_apps/flaskext/__init__.pyo
${PYSITELIB}/flask/testsuite/test_apps/flaskext/oldext_package/__init__.py
${PYSITELIB}/flask/testsuite/test_apps/flaskext/oldext_package/__init__.pyc
${PYSITELIB}/flask/testsuite/test_apps/flaskext/oldext_package/__init__.pyo
${PYSITELIB}/flask/testsuite/test_apps/flaskext/oldext_package/submodule.py
${PYSITELIB}/flask/testsuite/test_apps/flaskext/oldext_package/submodule.pyc
${PYSITELIB}/flask/testsuite/test_apps/flaskext/oldext_package/submodule.pyo
${PYSITELIB}/flask/testsuite/test_apps/flaskext/oldext_simple.py
${PYSITELIB}/flask/testsuite/test_apps/flaskext/oldext_simple.pyc
${PYSITELIB}/flask/testsuite/test_apps/flaskext/oldext_simple.pyo
${PYSITELIB}/flask/testsuite/test_apps/importerror.py
${PYSITELIB}/flask/testsuite/test_apps/importerror.pyc
${PYSITELIB}/flask/testsuite/test_apps/importerror.pyo
${PYSITELIB}/flask/testsuite/test_apps/lib/python2.5/site-packages/SiteEgg.egg
${PYSITELIB}/flask/testsuite/test_apps/lib/python2.5/site-packages/site_app.py
${PYSITELIB}/flask/testsuite/test_apps/lib/python2.5/site-packages/site_app.pyc
${PYSITELIB}/flask/testsuite/test_apps/lib/python2.5/site-packages/site_app.pyo
${PYSITELIB}/flask/testsuite/test_apps/lib/python2.5/site-packages/site_package/__init__.py
${PYSITELIB}/flask/testsuite/test_apps/lib/python2.5/site-packages/site_package/__init__.pyc
${PYSITELIB}/flask/testsuite/test_apps/lib/python2.5/site-packages/site_package/__init__.pyo
${PYSITELIB}/flask/testsuite/test_apps/main_app.py
${PYSITELIB}/flask/testsuite/test_apps/main_app.pyc
${PYSITELIB}/flask/testsuite/test_apps/main_app.pyo
${PYSITELIB}/flask/testsuite/test_apps/moduleapp/__init__.py
${PYSITELIB}/flask/testsuite/test_apps/moduleapp/__init__.pyc
${PYSITELIB}/flask/testsuite/test_apps/moduleapp/__init__.pyo
${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/__init__.py
${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/__init__.pyc
${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/__init__.pyo
${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/admin/__init__.py
${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/admin/__init__.pyc
${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/admin/__init__.pyo
${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/admin/static/css/test.css
${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/admin/static/test.txt
${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/admin/templates/index.html
${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/frontend/__init__.py
${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/frontend/__init__.pyc
${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/frontend/__init__.pyo
${PYSITELIB}/flask/testsuite/test_apps/moduleapp/apps/frontend/templates/index.html
${PYSITELIB}/flask/testsuite/test_apps/path/installed_package/__init__.py
${PYSITELIB}/flask/testsuite/test_apps/path/installed_package/__init__.pyc
${PYSITELIB}/flask/testsuite/test_apps/path/installed_package/__init__.pyo
${PYSITELIB}/flask/testsuite/test_apps/subdomaintestmodule/__init__.py
${PYSITELIB}/flask/testsuite/test_apps/subdomaintestmodule/__init__.pyc
${PYSITELIB}/flask/testsuite/test_apps/subdomaintestmodule/__init__.pyo
${PYSITELIB}/flask/testsuite/test_apps/subdomaintestmodule/static/hello.txt
${PYSITELIB}/flask/testsuite/testing.py
${PYSITELIB}/flask/testsuite/testing.pyc
${PYSITELIB}/flask/testsuite/testing.pyo
${PYSITELIB}/flask/testsuite/views.py
${PYSITELIB}/flask/testsuite/views.pyc
${PYSITELIB}/flask/testsuite/views.pyo
${PYSITELIB}/flask/views.py
${PYSITELIB}/flask/views.pyc
${PYSITELIB}/flask/views.pyo
Expand Down
11 changes: 6 additions & 5 deletions www/py-flask/distinfo
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
$NetBSD: distinfo,v 1.3 2015/11/04 02:47:27 agc Exp $
$NetBSD: distinfo,v 1.4 2016/06/01 21:05:46 kleink Exp $

SHA1 (Flask-0.10.1.tar.gz) = d3d078262b053f4438e2ed3fd6f9b923c2c92172
RMD160 (Flask-0.10.1.tar.gz) = 8f06ed2da14ed2dfbad7a38026a32f1117fb7600
SHA512 (Flask-0.10.1.tar.gz) = 0008d62d03a46b071c7d0510513d011a9bfd2b77df7f677371a446ca9805d16b1ee5e17dd8dd7cde6443a629370234e44735e20381de20a7da385969797f053f
Size (Flask-0.10.1.tar.gz) = 544247 bytes
SHA1 (Flask-0.11.tar.gz) = 9a080ae1544583193ddc8c98787107c55ab89b34
RMD160 (Flask-0.11.tar.gz) = 3a5c9c8835d57da552b7f0b6cfee2f58b0f7590b
SHA512 (Flask-0.11.tar.gz) = 77ee9998c96ba5e4eb007b81e04a051a6f8fc3ac837496a8c9e6637fdbff3e6fbba4912919b1cb2c5ed72951cc9fb8eb28d699e3f15de14ecbb51c362111eafc
Size (Flask-0.11.tar.gz) = 563928 bytes
SHA1 (patch-setup.py) = f8eb610f7e620355862d0d8edb818636f7e6d3c3
23 changes: 23 additions & 0 deletions www/py-flask/patches/patch-setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
$NetBSD: patch-setup.py,v 1.1 2016/06/01 21:05:46 kleink Exp $

Adjust script path to allow multiple Python version installs.

--- setup.py.orig 2016-05-22 08:33:12.000000000 +0000
+++ setup.py
@@ -43,6 +43,7 @@ Links

"""
import re
+import sys
import ast
from setuptools import setup

@@ -93,6 +94,6 @@ setup(
],
entry_points='''
[console_scripts]
- flask=flask.cli:main
- '''
+ flask%s=flask.cli:main
+ ''' % sys.version[0:3]
)

0 comments on commit 83023af

Please sign in to comment.