diff --git a/nilmdb/server/nilmdb.py b/nilmdb/server/nilmdb.py index 8f1949f..9b1407e 100644 --- a/nilmdb/server/nilmdb.py +++ b/nilmdb/server/nilmdb.py @@ -142,11 +142,13 @@ class NilmDB(object): with self.con: cur.execute("PRAGMA user_version = {v:d}".format(v=version)) - def _fill_in_limits(self, start, end): + def _check_user_times(self, start, end): if start is None: start = -1e12 if end is None: end = 1e12 + if start >= end: + raise NilmDBError("start must precede end") return (start, end) @nilmdb.utils.lru_cache(size = 16) @@ -310,7 +312,7 @@ class NilmDB(object): """ stream_id = self._stream_id(path) intervals = self._get_intervals(stream_id) - (start, end) = self._fill_in_limits(start, end) + (start, end) = self._check_user_times(start, end) requested = Interval(start, end) result = [] for n, i in enumerate(intervals.intersection(requested)): @@ -483,7 +485,7 @@ class NilmDB(object): stream_id = self._stream_id(path) table = self.data.getnode(path) intervals = self._get_intervals(stream_id) - (start, end) = self._fill_in_limits(start, end) + (start, end) = self._check_user_times(start, end) requested = Interval(start, end) result = [] matched = 0 @@ -530,7 +532,7 @@ class NilmDB(object): stream_id = self._stream_id(path) table = self.data.getnode(path) intervals = self._get_intervals(stream_id) - (start, end) = self._fill_in_limits(start, end) + (start, end) = self._check_user_times(start, end) to_remove = Interval(start, end) removed = 0