def __init__(self, parent, address, name, primary=True, manifest=None):
        self._drivers = copy.deepcopy(self._drivers)
        manifest = manifest.get(address, {}) if manifest else {}
        new_node = manifest == {}
        if not hasattr(parent,'_is_node_server'):
            raise RuntimeError("Node '%s' parent '%s' is not a NodeServer?" % (name, parent))
        self.parent = parent
        self.address = address
        self.added = manifest.get('added', False)
        self.name = manifest.get('name', name)
        self.logger = self.parent.poly.logger
        self.primary = primary

        drivers = manifest.get('drivers', {})
        for key, value in self._drivers.items():
            self._drivers[key][0] = drivers.get(key, value[0])

        self.add_node()
update driver values from manifest
dataset/ETHPy150Open UniversalDevicesInc/Polyglot/polyglot/nodeserver_api.py/Node.__init__