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)
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)
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)
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)
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)