Minor formatting changes

This commit is contained in:
Joel Collins 2019-01-09 15:01:14 +00:00
parent c1d0e95293
commit 43247eb33b
2 changed files with 23 additions and 8 deletions

View file

@ -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)