Skip to content
Snippets Groups Projects
Commit 6d42fff7 authored by Sam Roberts's avatar Sam Roberts
Browse files

reworking so things are a bit more neater/extensible

parent 7e6a9ed3
Branches
Tags
1 merge request!13Feature/pol1 430 EAP NRENs
......@@ -59,7 +59,7 @@ DASHBOARDS = {
},
'EAP': {
'tag': ['eap'],
'folder_name': 'EAP',
'folder_name': 'EAP Access',
'interfaces': []
},
'RE_PEER': {
......@@ -196,6 +196,12 @@ AGG_DASHBOARDS = {
},
}
NREN_CATEGORIES = {
'EAP': {
'folder_name': 'EAP Access'
}
}
def provision_folder(token_request, folder_name, dash, services,
ds_name, excluded_dashboards):
......@@ -228,26 +234,49 @@ def provision_folder(token_request, folder_name, dash, services,
)
)
def _get_nren_category(_folder_name):
for category in NREN_CATEGORIES:
if _folder_name == NREN_CATEGORIES[category]['folder_name']:
return category
return None
# dashboard should include error panels
errors = dash.get('errors', False)
is_nren_legacy = folder_name == "NREN Access LEGACY"
is_nren = folder_name == "NREN Access"
is_eap = folder_name == "EAP" # POL1-430
nren_category = _get_nren_category(folder_name) # will be None if the NREN is not in a category
is_re_peer = folder_name == "RE Peer"
is_service = 'service_type' in dash
has_aggregate_panels = is_nren or is_nren_legacy or is_eap or is_re_peer or is_service
has_aggregate_panels = is_nren or is_nren_legacy or nren_category or is_re_peer or is_service
def _filter_nren_interface_data_by_tag(tag=None):
raw_data = get_nren_interface_data(services, interfaces, excluded_dashboards)
all_tags = NREN_CATEGORIES.keys()
if tag is None:
# only return interfaces that DO NOT have a category tag (uncategorized NRENs)
for interface_key, interface in raw_data.items():
tags = interface.get('TAGS', set())
not_parented = True
for interface_tag in tags:
if interface_tag in all_tags:
not_parented = False
break
if not_parented:
yield interface_key, interface
else:
for interface_key, interface in raw_data.items():
if tag in interface.get('TAGS', set()):
yield interface_key, interface
if is_nren_legacy:
data = get_nren_interface_data_old(interfaces)
dash_data = get_nren_dashboard_data(data, ds_name, tag)
elif is_nren:
data = {k: v for k, v in get_nren_interface_data(
services, interfaces, excluded_dashboards).items() if 'EAP' not in v['TAGS']}
data = dict(_filter_nren_interface_data_by_tag(None))
dash_data = get_nren_dashboard_data(data, ds_name, tag)
elif is_eap:
data = {k: v for k, v in get_nren_interface_data(
services, interfaces, excluded_dashboards).items() if 'EAP' in v['TAGS']}
elif nren_category:
data = dict(_filter_nren_interface_data_by_tag(nren_category))
dash_data = get_nren_dashboard_data(data, ds_name, tag)
elif is_re_peer:
data = get_re_peer_interface_data(interfaces)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment