It is entirely sufficient to walk the MRO of the exception class, no need to check for classes re-appearing later on, no need to add the MRO of any superclass.
* Python refuses point-blank to create a class with a circular MRO.
* All classes in a superclass MRO *already* appear in the MRO of the derived type. Re-adding the contents of a superclass MRO is doing double work.
* Add init to FlaskClient
This addresses #1467. The init in the subclass
can now take in `environ_base`, which will then get
passed to `make_test_environ_builder` and to
`EnvironBuilder` via keyword args.
This should provide the default environment capability
on `app.test_client()` init.
* Add kwarg `environ_base` to `make_test_environ_builder` call
This change now passes `environ_base` from either
`kwargs` in `FlaskClient.open` or `FlaskClient.environ_base`
if passed into the init.
* Fix assignment reference typo
* Add default `environ_base` to `FlaskClient.__init__`
* Set default kwargs for `environ_base` in `FlaskClient.open`
* Remove specific environ_base kwarg since its in kwargs
* Add docstring to FlaskClient detailing environ_base
* Document app.test_client default environ in CHANGES
* Re-word environ_base changes in FlaskClient docstring
* Add client.environ_base tests
* Mention preset default environ in `app.test_client`
* Add versionchanged directive to docstring in FlaskClient
* Remove `-a/--app` from Quickstart documentation
As mentioned in #2009, simplifying the CLI saw the removal of the `-a/--app` flag. Therefore, the only way to specify the module to import is by setting `FLASK_APP`.
* Remove misleading `either` from CLI help
The CLI help details how to run the application, but still uses the phrasing "either through the `FLASK_APP`...". This likely is an artifact from when `-a/--app` was still present in the CLI.
* Distinguish between directories and files
* Convert larger apps to make use of setup.py
- replaces runserver.py with setup.py
- example now runs with recommended structure
* Fixes a typo and formats the added paragraph
* Clean up tutorial docs for installable app pattern
- reading sequentially through the tutorial works.
- fixes references to `export FLASK_APP=flaskr.flaskr`
* Fixes titles for each section of flaskr tutorial
* Revert grammar
* Emphasize the Packaging Guide
- adds more general packaging resource
- removes the emphasis put on setuptools
* rephrase and remove note admonitions
- expanded on few points
- removed note blocks, they are unneccessary
* Remove note about reinstalling to update cli
- I had mistakenly thought it was necessary to
re-install the app to update the cli.
- the `--editable` flag detects the change and
the cli updates without issue.
- adds `from flaskr import app` to top-level in flaskr module
- effect is that `export FLASK_APP=flaskr` works over the more verbose
`export FLASK_APP=flaskr.flask`
- see the readme for how to run
- all tests are passing with `py.test` or `python setup.py test` (in
venv)
* Update minitwit & improve testing for examples
* Related to #1945
* Re-works minitwit to be installed and run as:
pip install --editable .
export FLASK_APP=minitwit.minitwit
export FLASK_DEBUG=1
flask initdb
flask run
* added flaskr and minitwit to norecursedirs
* tests not properly run when using pytest standards
* see: http://stackoverflow.com/questions/38313171/configuring-pytest-with-installable-examples-in-a-project
* Both flaskr and minitwit now follow pytest standards.
* Tests can for them as `py.test` or `python setup.py test`
* Update minitwit readme
* updates the instructions for running
* Fixes for updating the minitwit example
- This reverts the changes to the *docs/* (I will file separate PR).
- Running the app is now: `export FLASK_APP=minitwit` & `flask run`
(After installing the app)
* Remove unnecessary comma from flaskr/setup.py