[Python-modules-commits] [flask] 01/05: Import flask_0.12.1.orig.tar.gz

Ondřej Nový onovy at moszumanska.debian.org
Sat Apr 8 10:58:39 UTC 2017


This is an automated email from the git hooks/post-receive script.

onovy pushed a commit to branch master
in repository flask.

commit e2758a2dfc6ebddb68ccdfd8d3fa4cdd1a5ff03e
Author: Ondřej Nový <onovy at debian.org>
Date:   Sat Apr 8 12:44:04 2017 +0200

    Import flask_0.12.1.orig.tar.gz
---
 CHANGES                                            |  25 +++++++++++++++++++++
 Flask.egg-info/PKG-INFO                            |   2 +-
 Flask.egg-info/SOURCES.txt                         |  12 ++++++++++
 Flask.egg-info/requires.txt                        |   2 +-
 PKG-INFO                                           |   2 +-
 examples/flaskr/flaskr.egg-info/PKG-INFO           |  10 +++++++++
 examples/flaskr/flaskr.egg-info/SOURCES.txt        |  15 +++++++++++++
 .../flaskr/flaskr.egg-info/dependency_links.txt    |   1 +
 examples/flaskr/flaskr.egg-info/requires.txt       |   1 +
 examples/flaskr/flaskr.egg-info/top_level.txt      |   1 +
 examples/flaskr/pytest_runner-2.11.1-py2.7.egg     | Bin 0 -> 8884 bytes
 examples/minitwit/minitwit.egg-info/PKG-INFO       |  10 +++++++++
 examples/minitwit/minitwit.egg-info/SOURCES.txt    |  16 +++++++++++++
 .../minitwit.egg-info/dependency_links.txt         |   1 +
 examples/minitwit/minitwit.egg-info/requires.txt   |   1 +
 examples/minitwit/minitwit.egg-info/top_level.txt  |   1 +
 flask/__init__.py                                  |   2 +-
 flask/app.py                                       |   3 +++
 flask/cli.py                                       |  14 ++++++++----
 flask/config.py                                    |   2 +-
 tests/test_apps/cliapp/importerrorapp.py           |   7 ++++++
 tests/test_basic.py                                |  17 ++++++++++++++
 tests/test_cli.py                                  |   1 +
 tests/test_config.py                               |  22 ++++++++++++++++--
 24 files changed, 157 insertions(+), 11 deletions(-)

diff --git a/CHANGES b/CHANGES
index 73e7812..613b818 100644
--- a/CHANGES
+++ b/CHANGES
@@ -3,6 +3,31 @@ Flask Changelog
 
 Here you can see the full list of changes between each Flask release.
 
+Version 0.13
+------------
+
+Major release, unreleased
+
+- Make `app.run()` into a noop if a Flask application is run from the
+  development server on the command line.  This avoids some behavior that
+  was confusing to debug for newcomers.
+- Change default configuration `JSONIFY_PRETTYPRINT_REGULAR=False`. jsonify()
+  method returns compressed response by default, and pretty response in
+  debug mode.
+
+Version 0.12.1
+--------------
+
+Bugfix release, released on March 31st 2017
+
+- Prevent `flask run` from showing a NoAppException when an ImportError occurs
+  within the imported application module.
+- Fix encoding behavior of ``app.config.from_pyfile`` for Python 3. Fix
+  ``#2118``.
+- Call `ctx.auto_pop` with the exception object instead of `None`, in the
+  event that a `BaseException` such as `KeyboardInterrupt` is raised in a
+  request handler.
+
 Version 0.12
 ------------
 
diff --git a/Flask.egg-info/PKG-INFO b/Flask.egg-info/PKG-INFO
index 5d3c8bb..42cb125 100644
--- a/Flask.egg-info/PKG-INFO
+++ b/Flask.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: Flask
-Version: 0.12
+Version: 0.12.1
 Summary: A microframework based on Werkzeug, Jinja2 and good intentions
 Home-page: http://github.com/pallets/flask/
 Author: Armin Ronacher
diff --git a/Flask.egg-info/SOURCES.txt b/Flask.egg-info/SOURCES.txt
index 8c54d90..182541a 100644
--- a/Flask.egg-info/SOURCES.txt
+++ b/Flask.egg-info/SOURCES.txt
@@ -122,11 +122,17 @@ examples/blueprintexample/simple_page/templates/pages/world.html
 examples/flaskr/.gitignore
 examples/flaskr/MANIFEST.in
 examples/flaskr/README
+examples/flaskr/pytest_runner-2.11.1-py2.7.egg
 examples/flaskr/setup.cfg
 examples/flaskr/setup.py
 examples/flaskr/flaskr/__init__.py
 examples/flaskr/flaskr/flaskr.py
 examples/flaskr/flaskr/schema.sql
+examples/flaskr/flaskr.egg-info/PKG-INFO
+examples/flaskr/flaskr.egg-info/SOURCES.txt
+examples/flaskr/flaskr.egg-info/dependency_links.txt
+examples/flaskr/flaskr.egg-info/requires.txt
+examples/flaskr/flaskr.egg-info/top_level.txt
 examples/flaskr/flaskr/static/style.css
 examples/flaskr/flaskr/templates/layout.html
 examples/flaskr/flaskr/templates/login.html
@@ -143,6 +149,11 @@ examples/minitwit/setup.py
 examples/minitwit/minitwit/__init__.py
 examples/minitwit/minitwit/minitwit.py
 examples/minitwit/minitwit/schema.sql
+examples/minitwit/minitwit.egg-info/PKG-INFO
+examples/minitwit/minitwit.egg-info/SOURCES.txt
+examples/minitwit/minitwit.egg-info/dependency_links.txt
+examples/minitwit/minitwit.egg-info/requires.txt
+examples/minitwit/minitwit.egg-info/top_level.txt
 examples/minitwit/minitwit/static/style.css
 examples/minitwit/minitwit/templates/layout.html
 examples/minitwit/minitwit/templates/login.html
@@ -209,6 +220,7 @@ tests/test_apps/blueprintapp/apps/frontend/__init__.py
 tests/test_apps/blueprintapp/apps/frontend/templates/frontend/index.html
 tests/test_apps/cliapp/__init__.py
 tests/test_apps/cliapp/app.py
+tests/test_apps/cliapp/importerrorapp.py
 tests/test_apps/cliapp/multiapp.py
 tests/test_apps/subdomaintestmodule/__init__.py
 tests/test_apps/subdomaintestmodule/static/hello.txt
\ No newline at end of file
diff --git a/Flask.egg-info/requires.txt b/Flask.egg-info/requires.txt
index fe5cdef..bd0cda5 100644
--- a/Flask.egg-info/requires.txt
+++ b/Flask.egg-info/requires.txt
@@ -1,4 +1,4 @@
 Werkzeug>=0.7
 Jinja2>=2.4
 itsdangerous>=0.21
-click>=2.0
+click>=2.0
\ No newline at end of file
diff --git a/PKG-INFO b/PKG-INFO
index 5d3c8bb..42cb125 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: Flask
-Version: 0.12
+Version: 0.12.1
 Summary: A microframework based on Werkzeug, Jinja2 and good intentions
 Home-page: http://github.com/pallets/flask/
 Author: Armin Ronacher
diff --git a/examples/flaskr/flaskr.egg-info/PKG-INFO b/examples/flaskr/flaskr.egg-info/PKG-INFO
new file mode 100644
index 0000000..0171151
--- /dev/null
+++ b/examples/flaskr/flaskr.egg-info/PKG-INFO
@@ -0,0 +1,10 @@
+Metadata-Version: 1.0
+Name: flaskr
+Version: 0.0.0
+Summary: UNKNOWN
+Home-page: UNKNOWN
+Author: UNKNOWN
+Author-email: UNKNOWN
+License: UNKNOWN
+Description: UNKNOWN
+Platform: UNKNOWN
diff --git a/examples/flaskr/flaskr.egg-info/SOURCES.txt b/examples/flaskr/flaskr.egg-info/SOURCES.txt
new file mode 100644
index 0000000..bc22330
--- /dev/null
+++ b/examples/flaskr/flaskr.egg-info/SOURCES.txt
@@ -0,0 +1,15 @@
+MANIFEST.in
+README
+setup.cfg
+flaskr/__init__.py
+flaskr/flaskr.py
+flaskr/schema.sql
+flaskr.egg-info/PKG-INFO
+flaskr.egg-info/SOURCES.txt
+flaskr.egg-info/dependency_links.txt
+flaskr.egg-info/requires.txt
+flaskr.egg-info/top_level.txt
+flaskr/static/style.css
+flaskr/templates/layout.html
+flaskr/templates/login.html
+flaskr/templates/show_entries.html
\ No newline at end of file
diff --git a/examples/flaskr/flaskr.egg-info/dependency_links.txt b/examples/flaskr/flaskr.egg-info/dependency_links.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/examples/flaskr/flaskr.egg-info/dependency_links.txt
@@ -0,0 +1 @@
+
diff --git a/examples/flaskr/flaskr.egg-info/requires.txt b/examples/flaskr/flaskr.egg-info/requires.txt
new file mode 100644
index 0000000..8ab6294
--- /dev/null
+++ b/examples/flaskr/flaskr.egg-info/requires.txt
@@ -0,0 +1 @@
+flask
\ No newline at end of file
diff --git a/examples/flaskr/flaskr.egg-info/top_level.txt b/examples/flaskr/flaskr.egg-info/top_level.txt
new file mode 100644
index 0000000..295454a
--- /dev/null
+++ b/examples/flaskr/flaskr.egg-info/top_level.txt
@@ -0,0 +1 @@
+flaskr
diff --git a/examples/flaskr/pytest_runner-2.11.1-py2.7.egg b/examples/flaskr/pytest_runner-2.11.1-py2.7.egg
new file mode 100644
index 0000000..3422a59
Binary files /dev/null and b/examples/flaskr/pytest_runner-2.11.1-py2.7.egg differ
diff --git a/examples/minitwit/minitwit.egg-info/PKG-INFO b/examples/minitwit/minitwit.egg-info/PKG-INFO
new file mode 100644
index 0000000..15984d7
--- /dev/null
+++ b/examples/minitwit/minitwit.egg-info/PKG-INFO
@@ -0,0 +1,10 @@
+Metadata-Version: 1.0
+Name: minitwit
+Version: 0.0.0
+Summary: UNKNOWN
+Home-page: UNKNOWN
+Author: UNKNOWN
+Author-email: UNKNOWN
+License: UNKNOWN
+Description: UNKNOWN
+Platform: UNKNOWN
diff --git a/examples/minitwit/minitwit.egg-info/SOURCES.txt b/examples/minitwit/minitwit.egg-info/SOURCES.txt
new file mode 100644
index 0000000..9070fc8
--- /dev/null
+++ b/examples/minitwit/minitwit.egg-info/SOURCES.txt
@@ -0,0 +1,16 @@
+MANIFEST.in
+README
+setup.cfg
+minitwit/__init__.py
+minitwit/minitwit.py
+minitwit/schema.sql
+minitwit.egg-info/PKG-INFO
+minitwit.egg-info/SOURCES.txt
+minitwit.egg-info/dependency_links.txt
+minitwit.egg-info/requires.txt
+minitwit.egg-info/top_level.txt
+minitwit/static/style.css
+minitwit/templates/layout.html
+minitwit/templates/login.html
+minitwit/templates/register.html
+minitwit/templates/timeline.html
\ No newline at end of file
diff --git a/examples/minitwit/minitwit.egg-info/dependency_links.txt b/examples/minitwit/minitwit.egg-info/dependency_links.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/examples/minitwit/minitwit.egg-info/dependency_links.txt
@@ -0,0 +1 @@
+
diff --git a/examples/minitwit/minitwit.egg-info/requires.txt b/examples/minitwit/minitwit.egg-info/requires.txt
new file mode 100644
index 0000000..8ab6294
--- /dev/null
+++ b/examples/minitwit/minitwit.egg-info/requires.txt
@@ -0,0 +1 @@
+flask
\ No newline at end of file
diff --git a/examples/minitwit/minitwit.egg-info/top_level.txt b/examples/minitwit/minitwit.egg-info/top_level.txt
new file mode 100644
index 0000000..2200b05
--- /dev/null
+++ b/examples/minitwit/minitwit.egg-info/top_level.txt
@@ -0,0 +1 @@
+minitwit
diff --git a/flask/__init__.py b/flask/__init__.py
index 69f29fb..2fcb356 100644
--- a/flask/__init__.py
+++ b/flask/__init__.py
@@ -10,7 +10,7 @@
     :license: BSD, see LICENSE for more details.
 """
 
-__version__ = '0.12'
+__version__ = '0.12.1'
 
 # utilities we import from Werkzeug and Jinja2 that are unused
 # in the module but are exported as public interface.
diff --git a/flask/app.py b/flask/app.py
index 942992d..1404e17 100644
--- a/flask/app.py
+++ b/flask/app.py
@@ -1983,6 +1983,9 @@ class Flask(_PackageBoundObject):
             except Exception as e:
                 error = e
                 response = self.handle_exception(e)
+            except:
+                error = sys.exc_info()[1]
+                raise
             return response(environ, start_response)
         finally:
             if self.should_ignore_error(error):
diff --git a/flask/cli.py b/flask/cli.py
index da988e8..074ee76 100644
--- a/flask/cli.py
+++ b/flask/cli.py
@@ -89,10 +89,16 @@ def locate_app(app_id):
     try:
         __import__(module)
     except ImportError:
-        raise NoAppException('The file/path provided (%s) does not appear to '
-                             'exist.  Please verify the path is correct.  If '
-                             'app is not on PYTHONPATH, ensure the extension '
-                             'is .py' % module)
+        # Reraise the ImportError if it occurred within the imported module.
+        # Determine this by checking whether the trace has a depth > 1.
+        if sys.exc_info()[-1].tb_next:
+            raise
+        else:
+            raise NoAppException('The file/path provided (%s) does not appear'
+                                 ' to exist.  Please verify the path is '
+                                 'correct.  If app is not on PYTHONPATH, '
+                                 'ensure the extension is .py' % module)
+
     mod = sys.modules[module]
     if app_obj is None:
         app = find_best_app(mod)
diff --git a/flask/config.py b/flask/config.py
index 36e8a12..697add7 100644
--- a/flask/config.py
+++ b/flask/config.py
@@ -126,7 +126,7 @@ class Config(dict):
         d = types.ModuleType('config')
         d.__file__ = filename
         try:
-            with open(filename) as config_file:
+            with open(filename, mode='rb') as config_file:
                 exec(compile(config_file.read(), filename, 'exec'), d.__dict__)
         except IOError as e:
             if silent and e.errno in (errno.ENOENT, errno.EISDIR):
diff --git a/tests/test_apps/cliapp/importerrorapp.py b/tests/test_apps/cliapp/importerrorapp.py
new file mode 100644
index 0000000..fb87c9b
--- /dev/null
+++ b/tests/test_apps/cliapp/importerrorapp.py
@@ -0,0 +1,7 @@
+from __future__ import absolute_import, print_function
+
+from flask import Flask
+
+raise ImportError()
+
+testapp = Flask('testapp')
diff --git a/tests/test_basic.py b/tests/test_basic.py
index be3d5ed..c5ec9f5 100644
--- a/tests/test_basic.py
+++ b/tests/test_basic.py
@@ -791,6 +791,23 @@ def test_error_handling_processing():
         assert resp.data == b'internal server error'
 
 
+def test_baseexception_error_handling():
+    app = flask.Flask(__name__)
+    app.config['LOGGER_HANDLER_POLICY'] = 'never'
+
+    @app.route('/')
+    def broken_func():
+        raise KeyboardInterrupt()
+
+    with app.test_client() as c:
+        with pytest.raises(KeyboardInterrupt):
+            c.get('/')
+
+        ctx = flask._request_ctx_stack.top
+        assert ctx.preserved
+        assert type(ctx._preserved_exc) is KeyboardInterrupt
+
+
 def test_before_request_and_routing_errors():
     app = flask.Flask(__name__)
 
diff --git a/tests/test_cli.py b/tests/test_cli.py
index 18026a7..313a34d 100644
--- a/tests/test_cli.py
+++ b/tests/test_cli.py
@@ -83,6 +83,7 @@ def test_locate_app(test_apps):
     pytest.raises(NoAppException, locate_app, "notanpp.py")
     pytest.raises(NoAppException, locate_app, "cliapp/app")
     pytest.raises(RuntimeError, locate_app, "cliapp.app:notanapp")
+    pytest.raises(ImportError, locate_app, "cliapp.importerrorapp")
 
 
 def test_find_default_import_path(test_apps, monkeypatch, tmpdir):
diff --git a/tests/test_config.py b/tests/test_config.py
index 333a5cf..5c98db9 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -7,11 +7,14 @@
     :license: BSD, see LICENSE for more details.
 """
 
-import pytest
 
-import os
 from datetime import timedelta
+import os
+import textwrap
+
 import flask
+from flask._compat import PY2
+import pytest
 
 
 # config keys used for the TestConfig
@@ -187,3 +190,18 @@ def test_get_namespace():
     assert 2 == len(bar_options)
     assert 'bar stuff 1' == bar_options['BAR_STUFF_1']
     assert 'bar stuff 2' == bar_options['BAR_STUFF_2']
+
+
+ at pytest.mark.parametrize('encoding', ['utf-8', 'iso-8859-15', 'latin-1'])
+def test_from_pyfile_weird_encoding(tmpdir, encoding):
+    f = tmpdir.join('my_config.py')
+    f.write_binary(textwrap.dedent(u'''
+    # -*- coding: {0} -*-
+    TEST_VALUE = "föö"
+    '''.format(encoding)).encode(encoding))
+    app = flask.Flask(__name__)
+    app.config.from_pyfile(str(f))
+    value = app.config['TEST_VALUE']
+    if PY2:
+        value = value.decode(encoding)
+    assert value == u'föö'

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/flask.git



More information about the Python-modules-commits mailing list