Skip to content

Commit aae61e1

Browse files
committed
Fixing get_last without date qualifier.
1 parent 713b718 commit aae61e1

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

c8y_api/model/measurements.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,10 +258,15 @@ def get_last(self, type=None, source=None, fragment=None, value=None, series=Non
258258
259259
:returns: Measurement object
260260
"""
261+
# at least one date qualifier is required for this query to function,
262+
# so we enforce the 'after' filter if nothing else is specified
263+
after = None
264+
if not before and not min_age:
265+
after = '1970-01-01'
261266
base_query = self._build_base_query(type=type, source=source,
262-
fragment=fragment, value=value, series=series,
267+
fragment=fragment, value=value, series=series, after=after,
263268
before=before, min_age=min_age, reverse=True, page_size=1)
264-
m = Measurement.from_json(self._get_page(base_query, "1")['measurements'][0])
269+
m = Measurement.from_json(self._get_page(base_query, "1")[0])
265270
m.c8y = self.c8y # inject c8y connection into instance
266271
return m
267272

sample/measurements.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,17 @@
4949
print(f"Created measurement #{m1_created.id} with time {m1_created.time}.")
5050
assert time != m1_created.time
5151

52+
# get the last measurement
53+
my_type = 'c8y_DemoMeasurement'
54+
print(f"\nListing the latest Measurement for type '{my_type}' ...")
55+
m = c8y.measurements.get_last(type=my_type)
56+
v = m.c8y_DemoMeasurement.Iterations.value
57+
u = m.c8y_DemoMeasurement.Iterations.unit
58+
t = m.time
59+
print(f" Got measurement at {t}: {v} {u}")
60+
5261
# querying the database by type
5362
# other filters are possible: source, fragment, date
54-
my_type = 'c8y_DemoMeasurement'
5563
print(f"\nListing all Measurements for type '{my_type}' ...")
5664
for m in c8y.measurements.select(type=my_type, after=run_at, reverse=True):
5765
v = m.c8y_DemoMeasurement.Iterations.value

0 commit comments

Comments
 (0)