summaryrefslogtreecommitdiffstats
path: root/base/common/python/pki/system.py
diff options
context:
space:
mode:
Diffstat (limited to 'base/common/python/pki/system.py')
-rw-r--r--base/common/python/pki/system.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/base/common/python/pki/system.py b/base/common/python/pki/system.py
index 62888335a..821f0dc96 100644
--- a/base/common/python/pki/system.py
+++ b/base/common/python/pki/system.py
@@ -57,6 +57,19 @@ class SecurityDomainHost(object):
host.unsecure_port = json_value['Port']
return host
+class SecurityDomainSubsystem(object):
+ def __init__(self):
+ self.name = None
+ self.hosts = {}
+
+ @classmethod
+ def from_json(cls, json_value):
+ ret = cls()
+ ret.name = json_value['id']
+ for host in json_value['Host']:
+ ret.hosts[host['id']] = SecurityDomainHost.from_json(host)
+ return ret
+
class SecurityDomainInfo(object):
def __init__(self):
@@ -68,11 +81,8 @@ class SecurityDomainInfo(object):
ret = cls()
ret.name = json_value['id']
for slist in json_value['Subsystem']:
- system_type = slist['id']
- system_list = []
- for host in slist['Host']:
- system_list.append(SecurityDomainHost.from_json(host))
- ret.systems[system_type] = system_list
+ subsystem = SecurityDomainSubsystem.from_json(slist)
+ ret.systems[slist['id']] = subsystem
return ret