Exemplo n.º 1
0
 def updateReceivedData(self, dataIdentifier, value):
     if self.lastValueMapping[dataIdentifier] is None or self.lastValueMapping[dataIdentifier] != value:
         self.lastValueMapping[dataIdentifier] = value
         measurement = Measurement.currentMeasurement({dataIdentifier: value})
         self.measurementBuffer.append(measurement)
     else:
         logging.getLogger().error(
             "New data are equals to previous one ({}: {}). Skipping...".format(dataIdentifier, repr(value)))
Exemplo n.º 2
0
 def tryBuffer(self, updateBuffer, dataIdentifier, data):
     try:
         updateBuffer.updateReceivedData(dataIdentifier, data)
         if updateBuffer.isComplete():
             d = updateBuffer.getData()
             updateBuffer.reset()
             measurement = Measurement.currentMeasurement(d)
             self.channelUpdateSupervisor.dataAvailable(updateBuffer.channel, measurement)
     except TopicException as ex:
         pass
Exemplo n.º 3
0
 def tryBuffer(self, updateBuffer, dataIdentifier, data):
     try:
         updateBuffer.updateReceivedData(dataIdentifier, data)
         if updateBuffer.isComplete():
             d = updateBuffer.getData()
             updateBuffer.reset()
             measurement = Measurement.currentMeasurement(d)
             self.channelUpdateSupervisor.dataAvailable(
                 updateBuffer.channel, measurement)
     except TopicException as ex:
         pass
Exemplo n.º 4
0
 def createAverageMeasurement(self):
     """
     Create measurement from collected data during update interval period.
     """
     averageData = {}
     for measurement in self.intervalMeasurements:
         for dataIdentifier, value in measurement.fields.items():
             if dataIdentifier not in averageData:
                 averageData[dataIdentifier] = 0
             averageData[dataIdentifier] += float(value)
     for dataIdentifier, value in averageData.items():
         averageData[dataIdentifier] = averageData[dataIdentifier] / float(
             len(self.intervalMeasurements))
     lastTime = self.intervalMeasurements[-1]
     return Measurement(averageData, lastTime)
Exemplo n.º 5
0
 def getMeasurement(self):
     return Measurement.currentMeasurement(self.getData())