Skip to content
Snippets Groups Projects
services.py 925 B
Newer Older
from typing import Dict, List
from brian_dashboard_manager.templating.helpers import get_dashboard_data


def get_panel_data(services):
    result: Dict[str, List[Dict]] = {}

    for service in services:

        customers = service.get('customers')
        name = service.get('name')
        sid = service.get('sid')
        scid = service.get('scid')

        measurement = 'scid_rates'
        title = f'{name} ({sid})'

        for customer in customers:
            result.setdefault(customer, []).append({
                'measurement': measurement,
                'title': title,
                'scid': scid,
                'has_v6': False
            })
    return result


def create_service_panels(services, datasource):

    panel_data = get_panel_data(services)
    for dash in get_dashboard_data(
            data=panel_data,
            datasource=datasource,
            tag='SERVICE'):
        yield dash