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 logging
import requests import requests
from datetime import datetime, timedelta from datetime import datetime, timedelta
from dateutil.parser import isoparse
class ddApiOper: class ddApiOper:
""" """
@@ -225,6 +226,9 @@ Returns the results part of the response.
""" """
return(self.data["results"][index]) return(self.data["results"][index])
def __iter__(self):
self.values()
def aspectSet(self): def aspectSet(self):
"""aspectSet() """aspectSet()
@@ -246,20 +250,33 @@ Returns the source metadata
""" """
return(self.result()["source"]) return(self.result()["source"])
def values(self, index=0): def values(self, index=0, quality=False, additionalInfo=False):
"""values(index=0) """values(index=0, quality=False, additionalInfo=False)
Returns the values at ittorator of tupples. Returns the values as a ittorator of tupples.
(time, value) (datetime, value, (quality, additinalInfo))
(time, value) (datetime, value, ...)
Note: Note:
Is this the correct return data format?? Is this the correct return data format??
This may change! This may change!
""" """
for e in self.result()["events"]: 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): def sip(self, index=0):
"""sip(index) """sip(index)