|
|
@@ -1,6 +1,7 @@ |
|
|
|
from __future__ import print_function |
|
|
|
from nilmdb.utils.printf import * |
|
|
|
import nilmdb.client |
|
|
|
import sys |
|
|
|
|
|
|
|
def setup(self, sub): |
|
|
|
cmd = sub.add_parser("extract", help="Extract data", |
|
|
@@ -67,17 +68,23 @@ def cmd_extract(self): |
|
|
|
printf("# end: %s\n", time_string(self.args.end)) |
|
|
|
|
|
|
|
printed = False |
|
|
|
if self.args.binary: |
|
|
|
printer = sys.stdout.write |
|
|
|
else: |
|
|
|
printer = print |
|
|
|
bare = self.args.bare |
|
|
|
count = self.args.count |
|
|
|
for dataline in self.client.stream_extract(self.args.path, |
|
|
|
self.args.start, |
|
|
|
self.args.end, |
|
|
|
self.args.count, |
|
|
|
self.args.markup, |
|
|
|
self.args.binary): |
|
|
|
if self.args.bare and not self.args.count: |
|
|
|
if bare and not count: |
|
|
|
# Strip timestamp (first element). Doesn't make sense |
|
|
|
# if we are only returning a count. |
|
|
|
dataline = ' '.join(dataline.split(' ')[1:]) |
|
|
|
print(dataline) |
|
|
|
printer(dataline) |
|
|
|
printed = True |
|
|
|
if not printed: |
|
|
|
if self.args.annotate: |
|
|
|