import glob from os.path import dirname, basename, isfile from flask import Blueprint from performance.views.metrics_list_view import MetricsListView from performance.views.performance_metrics_view import ( ArtistsPerformanceMetricsView, ProjectsPerformanceMetricsView, CampaignsPerformanceMetricsView, UnassignedCampaignsPerformanceMetricsView, ) from performance.views.performance_metrics_details_view import ( ProjectsPerformanceMetricsDetailsView, ArtistsPerformanceMetricsDetailsView, CampaignsPerformanceMetricsDetailsView, UnassignedCampaignsPerformanceMetricsDetailsView, ) from performance.views.platforms_view import PlatformsListView from performance.views.breakdown_options_list_view import BreakdownOptionsListView modules = glob.glob(dirname(__file__) + "/*.py") __all__ = [basename(f)[:-3] for f in modules if isfile(f) and not f.endswith("__init__.py")] blueprint = Blueprint("performance", __name__) blueprint.add_url_rule("/performance/metrics", view_func=MetricsListView.as_view("metrics_list")) blueprint.add_url_rule("/performance/platforms", view_func=PlatformsListView.as_view("metrics_platforms_list")) blueprint.add_url_rule( "/performance/breakdown_options/", view_func=BreakdownOptionsListView.as_view("breakdown_options_list"), ) blueprint.add_url_rule( "/performance/metrics/artists", view_func=ArtistsPerformanceMetricsView.as_view("artists_performance_metrics") ) blueprint.add_url_rule( "/performance/metrics/projects", view_func=ProjectsPerformanceMetricsView.as_view("projects_performance_metrics") ) blueprint.add_url_rule( "/performance/metrics/campaigns", view_func=CampaignsPerformanceMetricsView.as_view("campaigns_performance_metrics") ) blueprint.add_url_rule( "/performance/metrics/unassigned-campaigns", view_func=UnassignedCampaignsPerformanceMetricsView.as_view("unassigned_campaigns_performance_metrics"), ) blueprint.add_url_rule( "/performance/metrics/artists//details", view_func=ArtistsPerformanceMetricsDetailsView.as_view("artists_performance_metrics_details"), ) blueprint.add_url_rule( "/performance/metrics/projects//details", view_func=ProjectsPerformanceMetricsDetailsView.as_view("projects_performance_metrics_details"), ) blueprint.add_url_rule( "/performance/metrics/campaigns//details", view_func=CampaignsPerformanceMetricsDetailsView.as_view("campaigns_performance_metrics_details"), ) blueprint.add_url_rule( "/performance/metrics/unassigned-campaigns//details", view_func=UnassignedCampaignsPerformanceMetricsDetailsView.as_view( "unassigned_campaigns_performance_metrics_details" ), )