Support for quality and additionalINfo

This commit is contained in:
Marcel Nijenhof
2020-02-27 09:42:39 +01:00
parent f1384e66ca
commit 67cc97469a

View File

@@ -16,6 +16,7 @@ See:
import logging
import requests
from datetime import datetime, timedelta
from dateutil.parser import isoparse
class ddApiOper:
"""
@@ -225,6 +226,9 @@ Returns the results part of the response.
"""
return(self.data["results"][index])
def __iter__(self):
self.values()
def aspectSet(self):
"""aspectSet()
@@ -246,20 +250,33 @@ Returns the source metadata
"""
return(self.result()["source"])
def values(self, index=0):
"""values(index=0)
def values(self, index=0, quality=False, additionalInfo=False):
"""values(index=0, quality=False, additionalInfo=False)
Returns the values at ittorator of tupples.
Returns the values as a ittorator of tupples.
(time, value)
(time, value)
(datetime, value, (quality, additinalInfo))
(datetime, value, ...)
Note:
Is this the correct return data format??
This may change!
"""
for e in self.result()["events"]:
yield (e["timeStamp"], e["aspects"][index]["points"][0]["value"])
dt = isoparse(e["timeStamp"])
p = e["aspects"][index]["points"][0]
v = p.get("value", None)
q = p.get("quality", None)
a = p.get("additionalInfo", None)
if (quality & additionalInfo):
yield (dt, v, q, a)
elif quality:
yield (dt, v, q)
elif additionalInfo:
# Why would you use this?
yield (dt, v, a)
else:
yield (dt, v)
def sip(self, index=0):
"""sip(index)