diff --git a/radioactive_sq9atk.py b/radioactive_sq9atk.py index 57f1398..a4e688e 100755 --- a/radioactive_sq9atk.py +++ b/radioactive_sq9atk.py @@ -31,12 +31,12 @@ class RadioactiveSq9atk(SR0WXModule): return "" def isSensorMatchedById(self, sensorId, string): - pos = string.find(","+str(sensorId)+", ") + pos = string.find("Details sensor "+str(sensorId)) return pos >= 0 def isSensorRow(self, string): string = " "+string # na początku trzeba dodac spację bo inaczej find nie znajduje pierwszego znaku - pos = string.find("Overlay(createMarker(") + pos = string.find("Last sample") return pos >= 0 def cleanUpString(self, string): @@ -44,37 +44,31 @@ class RadioactiveSq9atk(SR0WXModule): string = string.replace("
","
") string = string.replace("'","") - string = string.replace("Last contact: ","") - string = string.replace("Overlay(createMarker(new GLatLng","") - string = string.replace(" Last sample: ","") - string = string.replace("24 hours average: ","") - string = string.replace(" uSv/h","") - - string = string.replace("(","") - string = string.replace(")","") return string - def prepareSensorData(self, string): + def extractSensorData(self, string): string = self.cleanUpString(string) - arr = string.split("
") + tmpArr = string.split("
") - arrPart = arr[0].split(",") - arr += arrPart - return arr + arrPart = tmpArr[0].split(".bindPopup(") + tmpArr[0] = arrPart[1] + + tmpCurrent = tmpArr[0].split("Last sample: "); + tmpAverage = tmpArr[2].split("24 hours average: "); + + current = tmpCurrent[1].split(" ")[0] + average = tmpAverage[1].split(" ")[0] + + return {"current":current, "average": average} def getSensorData(self, html): - dataArr = html.split("map.add") - data = {} - + dataArr = html.split("L.marker([") + ret = {} for row in dataArr: if self.isSensorRow(row): if self.isSensorMatchedById(self.__sensor_id, row): - sensorDataArr = self.prepareSensorData(row) - - data['time'] = sensorDataArr[1] - data['current'] = sensorDataArr[10] - data['average'] = sensorDataArr[2] - return data + ret = self.extractSensorData(row) + return ret def get_data(self): self.__logger.info("::: Pobieram dane...")