|
|
@@ -1,5 +1,6 @@ |
|
|
|
from nilmdb.utils.printf import * |
|
|
|
import nilmdb.utils.time |
|
|
|
from nilmdb.utils.interval import Interval |
|
|
|
|
|
|
|
import fnmatch |
|
|
|
import argparse |
|
|
@@ -42,6 +43,8 @@ def setup(self, sub): |
|
|
|
group = cmd.add_argument_group("Misc options") |
|
|
|
group.add_argument("-T", "--timestamp-raw", action="store_true", |
|
|
|
help="Show raw timestamps when printing times") |
|
|
|
group.add_argument("-o", "--optimize", action="store_true", |
|
|
|
help="Optimize (merge adjacent) intervals") |
|
|
|
|
|
|
|
return cmd |
|
|
|
|
|
|
@@ -58,9 +61,16 @@ def cmd_intervals(self): |
|
|
|
time_string = nilmdb.utils.time.timestamp_to_human |
|
|
|
|
|
|
|
try: |
|
|
|
for (start, end) in self.client.stream_intervals( |
|
|
|
self.args.path, self.args.start, self.args.end, self.args.diff): |
|
|
|
printf("[ %s -> %s ]\n", time_string(start), time_string(end)) |
|
|
|
intervals = ( Interval(start, end) for (start, end) in |
|
|
|
self.client.stream_intervals(self.args.path, |
|
|
|
self.args.start, |
|
|
|
self.args.end, |
|
|
|
self.args.diff) ) |
|
|
|
if self.args.optimize: |
|
|
|
intervals = nilmdb.utils.interval.optimize(intervals) |
|
|
|
for i in intervals: |
|
|
|
printf("[ %s -> %s ]\n", time_string(i.start), time_string(i.end)) |
|
|
|
|
|
|
|
except nilmdb.client.ClientError as e: |
|
|
|
self.die("error listing intervals: %s", str(e)) |
|
|
|
|