Skip to content
Snippets Groups Projects
Commit 032f60bb authored by Erik Reid's avatar Erik Reid
Browse files

de-dup service list, and return ordered by name

parent 0df055b5
No related branches found
No related tags found
No related merge requests found
...@@ -175,12 +175,15 @@ def get_interface_services_and_loc(ims_source_equipment, ims_interface, redis): ...@@ -175,12 +175,15 @@ def get_interface_services_and_loc(ims_source_equipment, ims_interface, redis):
keys_to_remove = set(_s.keys()) - keys keys_to_remove = set(_s.keys()) - keys
for k in keys_to_remove: for k in keys_to_remove:
_s.pop(k) _s.pop(k)
result = {}
raw_services = redis.get( raw_services = redis.get(
f'ims:interface_services:{ims_source_equipment}:{ims_interface}') f'ims:interface_services:{ims_source_equipment}:{ims_interface}')
result = {}
if raw_services: if raw_services:
result['services'] = [] # result['services'] = []
related_services = {} related_services = {}
services = {}
contacts = set() contacts = set()
for s in json.loads(raw_services.decode('utf-8')): for s in json.loads(raw_services.decode('utf-8')):
related_services.update( related_services.update(
...@@ -188,9 +191,16 @@ def get_interface_services_and_loc(ims_source_equipment, ims_interface, redis): ...@@ -188,9 +191,16 @@ def get_interface_services_and_loc(ims_source_equipment, ims_interface, redis):
contacts.update(set(s.pop('contacts', set()))) contacts.update(set(s.pop('contacts', set())))
if s['circuit_type'] == 'service': if s['circuit_type'] == 'service':
_format_service(s) _format_service(s)
result['services'].append(s) services['id'] = s
def _sorted_by_name(things_with_name):
return sorted(
list(things_with_name),
key=lambda x: x['name'])
result['contacts'] = sorted(list(contacts)) result['contacts'] = sorted(list(contacts))
result['related-services'] = list(related_services.values()) result['services'] = _sorted_by_name(services.values())
result['related-services'] = _sorted_by_name(related_services.values())
if not result['services']: if not result['services']:
result.pop('services', None) result.pop('services', None)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment