Skip to main content

A failsafe for the Flask reloader

Project description

Flask-Failsafe

A failsafe for the Flask reloader.

https://travis-ci.org/mgood/flask-failsafe.png

The Flask reloader works great until you make a syntax error and it fails importing your app. This extension helps keep you working smoothly by catching errors during the initialization of your app, and provides a failsafe fallback app to display those startup errors instead.

To use it, run your app via a small script script with a factory function to initialize your app:

from flask_failsafe import failsafe

@failsafe
def create_app():
  # note that the import is *inside* this function so that we can catch
  # errors that happen at import time
  from myapp import app
  return app

if __name__ == "__main__":
  create_app().run()

The @failsafe decorator catches any errors calling create_app() and returns a fallback app that will instead display the Flask error debugger.

If you use Flask-Script, you can pass the same @failsafe-decorated factory function to the Manager() class:

from flask.ext.script import Manager, Server
from flask_failsafe import failsafe

@failsafe
def create_app():
  from myapp import app
  return app

manager = Manager(create_app)
manager.add_command("runserver", Server())

if __name__ == "__main__":
  manager.run()

Changes

0.2 (2014-01-03)

Python 3 support (thanks to Asger Drewsen for the help)

0.1 (2012-09-14)

Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Flask-Failsafe-0.2.tar.gz (2.9 kB view details)

Uploaded Source

File details

Details for the file Flask-Failsafe-0.2.tar.gz.

File metadata

File hashes

Hashes for Flask-Failsafe-0.2.tar.gz
Algorithm Hash digest
SHA256 10df61daaad241b5970504acb98fb26375049fe1adaf23f28bc9e257c28f768b
MD5 e9ff8b720f9c8008cbaa2c6c13fc82ac
BLAKE2b-256 76d8d968f17fcca8b9e006ff537ae25b10293c906fbaf15d14a222affcc19cc3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page