Update copy tool

This commit is contained in:
Jim Paris 2013-03-16 23:13:45 -04:00
parent e73dd313d5
commit de68956f76

16
nilmtools/copy.py Normal file → Executable file
View File

@ -13,23 +13,23 @@ def main():
try:
args = f.parse_args()
except nilmtools.filter.MissingDestination as e:
print "Source is %s (%s)" % (e.src, e.layout)
print "Destination %s doesn't exist" % (e.dest)
print "Source is %s (%s)" % (e.src.path, e.src.layout)
print "Destination %s doesn't exist" % (e.dest.path)
print "You could make it with a command like:"
print " nilmtool create", e.dest, e.layout
print " nilmtool create", e.dest.path, e.src.layout
raise SystemExit(1)
# Copy metadata
meta = f.client.stream_get_metadata(args.srcpath)
meta = f.client.stream_get_metadata(f.src.path)
f.check_dest_metadata(meta)
# Copy all rows of data as ASCII strings
extractor = nilmdb.client.Client(args.url).stream_extract
inserter = nilmdb.client.Client(args.url).stream_insert_context
for (start, end) in f.intervals():
print "Processing", f.interval_string((start, end))
with inserter(args.destpath, start, end) as insert_ctx:
for row in extractor(args.srcpath, start, end):
for i in f.intervals():
print "Processing", f.interval_string(i)
with inserter(f.dest.path, i.start, i.end) as insert_ctx:
for row in extractor(f.src.path, i.start, i.end):
insert_ctx.insert(row + "\n")
if __name__ == "__main__":