class Kuksa_Client(): # Constructor def __init__(self, config): print("Init kuksa client...") if "kuksa_val" not in config: print("kuksa_val section missing from configuration, exiting") sys.exit(-1) provider_config = config['kuksa_val'] self.client = KuksaClientThread(provider_config) self.client.start() self.client.authorize() self.dataset = {} def getMetaData(self, path): metadata = (json.loads(self.client.getMetaData(path))["metadata"]) return metadata def getValue(self, path): dataset = json.loads(self.client.getValue(path))["value"] # convert to strings to Arrays, which is required by pyarrow.from_pydict if not isinstance(dataset, dict): dataset = {path: [dataset]} else: for key in dataset: dataset[key] = [dataset[key]] return (dataset) def shutdown(self): self.client.stop()
class Kuksa_Client(): # Constructor def __init__(self, config): print("Init kuksa client...") if "kuksa_val" not in config: print("kuksa_val section missing from configuration, exiting") sys.exit(-1) provider_config=config['kuksa_val'] self.client = KuksaClientThread(provider_config) self.client.start() print("authorizing...") self.client.authorize() def shutdown(self): self.client.stop() def setPosition(self, position): self.client.setValue('Vehicle.Cabin.Infotainment.Navigation.CurrentLocation.Altitude', position['alt']) self.client.setValue('Vehicle.Cabin.Infotainment.Navigation.CurrentLocation.Latitude', position["lat"]) self.client.setValue('Vehicle.Cabin.Infotainment.Navigation.CurrentLocation.Longitude', position["lon"]) self.client.setValue('Vehicle.Cabin.Infotainment.Navigation.CurrentLocation.Accuracy', position["hdop"]) self.client.setValue('Vehicle.Cabin.Infotainment.Navigation.CurrentLocation.Speed', position["speed"])
class Kuksa_Client(): # Constructor def __init__(self, config): print("Init kuksa client...") if "kuksa_val" not in config: print("kuksa_val section missing from configuration, exiting") sys.exit(-1) self.subscriptionMap = {} provider_config = config['kuksa_val'] self.client = KuksaClientThread(provider_config) self.client.start() self.client.authorize() def shutdown(self): self.client.stop() def subscribe(self, path, callback): print("subscribe " + path) res = self.client.subscribe(path, callback) res = json.loads(res) if "subscriptionId" in res: self.subscriptionMap[res["subscriptionId"]] = path print(res)
for candidate in config_candidates: if os.path.isfile(candidate): configfile = candidate break if configfile is None: print("No configuration file found. Exiting") sys.exit(-1) config = configparser.ConfigParser() config.read(configfile) kuksaconfig = config if "kuksa_val" in config: kuksaconfig = config["kuksa_val"] kuksa = KuksaClientThread(kuksaconfig) kuksa.start() kuksa.authorize() mapping = dbc2vssmapper.mapper(kuksaconfig.get('mapping', "mapping.yml")) canQueue = queue.Queue() if "can" not in config: print("can section missing from configuration, exiting") sys.exit(-1) cancfg = config['can'] canport = cancfg['port'] if config["can"].getboolean("j1939", False): print("Use j1939 reader") reader = j1939reader.J1939Reader(cancfg, canQueue, mapping) else: