Minor formatting changes
This commit is contained in:
parent
c1d0e95293
commit
43247eb33b
2 changed files with 23 additions and 8 deletions
|
|
@ -15,9 +15,11 @@ def construct_blueprint(microscope_obj, plugin_paths=[], include_default=True):
|
||||||
# For each plugin attached to the microscope object
|
# For each plugin attached to the microscope object
|
||||||
for plugin_name, plugin_obj in microscope_obj.plugin.plugins:
|
for plugin_name, plugin_obj in microscope_obj.plugin.plugins:
|
||||||
|
|
||||||
if hasattr(plugin_obj, 'api_views') and isinstance(plugin_obj.api_views, dict): # If plugin contains valid endpoints
|
# If plugin contains valid endpoints
|
||||||
|
if hasattr(plugin_obj, 'api_views') and isinstance(plugin_obj.api_views, dict):
|
||||||
|
|
||||||
for view_route, view_class in plugin_obj.api_views.items(): # For each defined endpoint
|
# For each defined endpoint
|
||||||
|
for view_route, view_class in plugin_obj.api_views.items():
|
||||||
|
|
||||||
# Remove all leading slashes from view route
|
# Remove all leading slashes from view route
|
||||||
while view_route[0] == '/':
|
while view_route[0] == '/':
|
||||||
|
|
@ -26,19 +28,32 @@ def construct_blueprint(microscope_obj, plugin_paths=[], include_default=True):
|
||||||
# Construct a full view route from the plugin name
|
# Construct a full view route from the plugin name
|
||||||
full_view_route = "/{}/{}".format(plugin_name, view_route)
|
full_view_route = "/{}/{}".format(plugin_name, view_route)
|
||||||
|
|
||||||
if full_view_route not in all_routes and issubclass(view_class, MicroscopeViewPlugin): # Check if endpoint name clashes
|
# Check if endpoint name clashes
|
||||||
all_routes.append(full_view_route) # Add route to main route dictionary
|
if full_view_route not in all_routes and issubclass(view_class, MicroscopeViewPlugin):
|
||||||
|
# Add route to main route dictionary
|
||||||
|
all_routes.append(full_view_route)
|
||||||
|
|
||||||
# Add route to the plugins blueprint
|
# Add route to the plugins blueprint
|
||||||
blueprint.add_url_rule(
|
blueprint.add_url_rule(
|
||||||
full_view_route,
|
full_view_route,
|
||||||
view_func=view_class.as_view('plugin_{}'.format(view_route).replace('/', '_'), microscope=microscope_obj, plugin=plugin_obj)
|
view_func=view_class.as_view(
|
||||||
|
'plugin_{}'.format(view_route).replace('/', '_'),
|
||||||
|
microscope=microscope_obj,
|
||||||
|
plugin=plugin_obj
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
warnings.warn("An endpoint /{} has already been loaded. Skipping {}.".format(full_view_route, view_class))
|
warnings.warn(
|
||||||
|
"An endpoint /{} has already been loaded. Skipping {}.".format(
|
||||||
|
full_view_route,
|
||||||
|
view_class
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
warnings.warn("No valid 'api_views' dictionary found in {}".format(plugin_obj))
|
warnings.warn(
|
||||||
|
"No valid 'api_views' dictionary found in {}".format(plugin_obj)
|
||||||
|
)
|
||||||
|
|
||||||
return(blueprint)
|
return(blueprint)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue