02db48597f5072a903b29b40c022c68683b72e6d
[netvirt.git] / resources / tools / odltools / odltools / mdsal / models / interface_service_bindings.py
1 import collections
2
3 from odltools.mdsal.models.model import Model
4
5 MODULE = "interface-service-bindings"
6
7
8 def service_bindings(store, args):
9     return ServiceBindings(MODULE, store, args)
10
11
12 class ServiceBindings(Model):
13     CONTAINER = "service-bindings"
14     CLIST = "services-info"
15     CLSIT_KEY = "interface-name"
16
17     def get_service_bindings(self):
18         sb_dict = collections.defaultdict(dict)
19         orphans_dict = collections.defaultdict(dict)
20         sb_infos = self.get_clist()
21         for sb_info in sb_infos:
22             service_mode = sb_info['service-mode'][len('interface-service-bindings:'):]
23             if sb_info.get('bound-services'):
24                 sb_dict[sb_info['interface-name']][service_mode] = sb_info
25             else:
26                 orphans_dict[sb_info['interface-name']][service_mode] = sb_info
27         return dict(sb_dict), dict(orphans_dict)