From 9387dfd4cc39fa6fbbf66147ced880dffa6408bd Mon Sep 17 00:00:00 2001 From: Morgan Fainberg Date: Tue, 3 Jul 2018 10:10:53 -0700 Subject: [PATCH] Make keystone.server.flask more interesting for importing Importing keystone.server.flask now exposes all the relevant bits from the sub modules to develop APIs without needing to understand all the underlying modules. __all__ has also be setup in a meaningful way to allow for `from keystone.server.flask import *` and have all the needed objects to start developing APIs for keystone. Change-Id: Iab22cabb71c6690e6ffb0c9de68ed8437c4848de Partial-Bug: #1776504 --- keystone/server/flask/__init__.py | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/keystone/server/flask/__init__.py b/keystone/server/flask/__init__.py index 72eebd7709..1305ef529a 100644 --- a/keystone/server/flask/__init__.py +++ b/keystone/server/flask/__init__.py @@ -10,11 +10,27 @@ # License for the specific language governing permissions and limitations # under the License. +# NOTE(morgan): Import relevant stuff so importing individual under-pinnings +# isn't needed, keystone.server.flask exposes all the interesting bits +# needed to develop restful APIs for keystone. + +from keystone.server.flask import application +from keystone.server.flask.common import APIBase # noqa +from keystone.server.flask.common import base_url # noqa +from keystone.server.flask.common import construct_json_home_data # noqa +from keystone.server.flask.common import construct_resource_map # noqa +from keystone.server.flask.common import full_url # noqa +from keystone.server.flask.common import JsonHomeData # noqa +from keystone.server.flask.common import ResourceBase # noqa +from keystone.server.flask.common import ResourceMap # noqa from keystone.server.flask.core import * # noqa -from keystone.server.flask import application # noqa -__all__ = ('application', 'core', 'fail_gracefully', 'initialize_application', - 'setup_app_middleware') +# NOTE(morgan): This allows for from keystone.flask import * and have all the +# cool stuff needed to develop new APIs within a module/subsystem +__all__ = ('APIBase', 'JsonHomeData', 'ResourceBase', 'ResourceMap', + 'base_url', 'construct_json_home_data', 'construct_resource_map', + 'full_url', 'fail_gracefully') +application_factory = application.application_factory fail_gracefully = application.fail_gracefully