Esempio n. 1
0
 def from_json(cls, json_dict):
   assert class_fullname(cls) == json_dict['__type__']
   node1 = json_dict['node1']
   port1 = json_dict['port1']
   node2 = json_dict['node2']
   port2 = json_dict['port2']
   if isinstance(node1, dict) and node1.get('__type__', None):
     node1 = load_class(node1['__type__']).from_json(node1)
   if isinstance(port1, dict) and port1.get('__type__', None):
     port1 = load_class(port1['__type__']).from_json(port1)
   if isinstance(node2, dict) and node2.get('__type__', None):
     node2 = load_class(node2['__type__']).from_json(node2)
   if isinstance(port2, dict) and port2.get('__type__', None):
     port2 = load_class(port2['__type__']).from_json(port2)
   return cls(node1, port1, node2, port2)
Esempio n. 2
0
 def from_json(cls, json_dict):
   assert class_fullname(cls) == json_dict['__type__']
   start_node = json_dict['start_node']
   start_port = json_dict['start_port']
   end_node = json_dict['end_node']
   end_port = json_dict['end_port']
   if isinstance(start_node, dict) and start_node.get('__type__', None):
     start_node = load_class(start_node['__type__']).from_json(start_node)
   if isinstance(start_port, dict) and start_port.get('__type__', None):
     start_port = load_class(start_port['__type__']).from_json(start_port)
   if isinstance(end_node, dict) and end_node.get('__type__', None):
     end_node = load_class(end_node['__type__']).from_json(end_node)
   if isinstance(end_port, dict) and end_port.get('__type__', None):
     end_port = load_class(end_port['__type__']).from_json(end_port)
   return cls(start_node, start_port, end_node, end_port)
Esempio n. 3
0
 def from_json(cls, json_dict):
     assert class_fullname(cls) == json_dict['__type__']
     node1 = json_dict['node1']
     port1 = json_dict['port1']
     node2 = json_dict['node2']
     port2 = json_dict['port2']
     if isinstance(node1, dict) and node1.get('__type__', None):
         node1 = load_class(node1['__type__']).from_json(node1)
     if isinstance(port1, dict) and port1.get('__type__', None):
         port1 = load_class(port1['__type__']).from_json(port1)
     if isinstance(node2, dict) and node2.get('__type__', None):
         node2 = load_class(node2['__type__']).from_json(node2)
     if isinstance(port2, dict) and port2.get('__type__', None):
         port2 = load_class(port2['__type__']).from_json(port2)
     return cls(node1, port1, node2, port2)
Esempio n. 4
0
 def from_json(cls, json_dict):
     assert class_fullname(cls) == json_dict['__type__']
     start_node = json_dict['start_node']
     start_port = json_dict['start_port']
     end_node = json_dict['end_node']
     end_port = json_dict['end_port']
     if isinstance(start_node, dict) and start_node.get('__type__', None):
         start_node = load_class(
             start_node['__type__']).from_json(start_node)
     if isinstance(start_port, dict) and start_port.get('__type__', None):
         start_port = load_class(
             start_port['__type__']).from_json(start_port)
     if isinstance(end_node, dict) and end_node.get('__type__', None):
         end_node = load_class(end_node['__type__']).from_json(end_node)
     if isinstance(end_port, dict) and end_port.get('__type__', None):
         end_port = load_class(end_port['__type__']).from_json(end_port)
     return cls(start_node, start_port, end_node, end_port)
Esempio n. 5
0
 def from_json(cls, json_hash, create_io_worker):
   name = json_hash['name']
   hid = json_hash['hid']
   cmd = json_hash['cmd']
   interfaces = []
   for iface in json_hash['interfaces']:
     iface_cls = load_class(iface['__type__'])
     interfaces.append(iface_cls.from_json(iface))
   return cls(interfaces, create_io_worker=create_io_worker, name=name,
              hid=hid, cmd=cmd)
Esempio n. 6
0
 def from_json(cls, json_hash, interface_cls=None):
   name = json_hash['name']
   hid = json_hash['hid']
   interfaces = []
   for iface in json_hash['interfaces']:
     if interface_cls is None:
       interface_cls = load_class(iface['__type__'])
     else:
       iface['__type__'] = class_fullname(interface_cls)
     interfaces.append(interface_cls.from_json(iface))
   return cls(interfaces, name, hid)
Esempio n. 7
0
 def from_json(cls, json_hash, interface_cls=None):
     name = json_hash['name']
     hid = json_hash['hid']
     interfaces = []
     for iface in json_hash['interfaces']:
         if interface_cls is None:
             interface_cls = load_class(iface['__type__'])
         else:
             iface['__type__'] = class_fullname(interface_cls)
         interfaces.append(interface_cls.from_json(iface))
     return cls(interfaces, name, hid)
Esempio n. 8
0
 def from_json(cls, json_hash, create_io_worker):
     name = json_hash['name']
     hid = json_hash['hid']
     cmd = json_hash['cmd']
     interfaces = []
     for iface in json_hash['interfaces']:
         iface_cls = load_class(iface['__type__'])
         interfaces.append(iface_cls.from_json(iface))
     return cls(interfaces,
                create_io_worker=create_io_worker,
                name=name,
                hid=hid,
                cmd=cmd)