Flask-Shell2HTTP
Flask-Shell2HTTP copied to clipboard
Convert Shell2HTTP class to inherit from Flask.Blueprint
Currently, flask-shell2http works just like any other flask extension; you create an object from a class to which you pass the flask application instance. We could follow a different approach making it solely available as a pluggable Flask.Blueprint.
Some initial ideas:
- The
Shell2HTTPclass could derive from theFlask.Blueprintclass; that way we can drop theinit_appmethod, theregister_commandcan be a wrapper over theFlask.Blueprint.add_url_rulemethod (it already is, but it works onapp.add_url_rule). Then, the enduser would do something like,
from flask_shell2http import Shell2HTTP
# default blueprint instantiation
shell2http_bp = Shell2HTTP('awesome', __name__, url_prefix='/commands')
# extra method by flask-shell2http
shell2http_bp.register_command(endpoint="echo", command_name="echo", ...)
and then in the application factory,
app = Flask(__name__)
app.register_blueprint(shell2http_bp)
This would open doors for many other features since Flask.Flask and Flask.Blueprint derive from the same abstract base class and flask blueprints are very powerful.