def on_open(self, sid, data): self.init() data = json.loads(data) self.config.write("version", data["version"]) self.config.write("port", data["port"]) storage = Storage() last = storage.fetch_last_measurement_by_name(data["name"]) if last: now = arrow.now() if now.timestamp - int(last["timestamp"]) > 3600: match = re.match( ".+( [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2})$", data["name"]) if match: data["name"] = data["name"][:-len(match.group(1))] data["name"] += " " + arrow.now().format("YYYY-MM-DD HH:mm") self.config.write("name", data["name"]) try: self.config.write("rate", float(data["rate"])) except ValueError: pass self.emit("connecting") self.daemon.start()
def on_open(self, sid, data): self.init() data = json.loads(data) self.config.write("version", data["version"]) if "port" in data: self.config.write("port", data["port"]) if "ble_address" in data: self.config.write("ble_address", data["ble_address"]) else: data["ble_address"] = self.config.read("ble_address") storage = Storage() last = storage.fetch_last_measurement_by_name(data["name"]) if last: if time() - int(last["timestamp"]) > 3600: match = re.match( ".+( [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2})$", data["name"]) if match: data["name"] = data["name"][:-len(match.group(1))] data["name"] += " " + pendulum.now().format("YYYY-MM-DD HH:mm") if not data["name"]: data["name"] = "My measurement" self.config.write("name", data["name"]) try: self.config.write("rate", float(data["rate"])) except ValueError: pass tc_ble = data["version"].startswith( "TC") and "USB" not in data["version"] if tc_ble and ("ble_address" not in data or not data["ble_address"]): self.daemon.log("BLE address is missing. Select address in Setup") return self.emit("connecting") self.daemon.start()