Compare commits
3 Commits
nilmtools-
...
nilmtools-
Author | SHA1 | Date | |
---|---|---|---|
f4fda837ae | |||
5547d266d0 | |||
372e977e4a |
2
setup.py
2
setup.py
@@ -61,7 +61,7 @@ setup(name='nilmtools',
|
|||||||
long_description = "NILM Database Tools",
|
long_description = "NILM Database Tools",
|
||||||
license = "Proprietary",
|
license = "Proprietary",
|
||||||
author_email = 'jim@jtan.com',
|
author_email = 'jim@jtan.com',
|
||||||
install_requires = [ 'nilmdb >= 1.5.0',
|
install_requires = [ 'nilmdb >= 1.6.0',
|
||||||
'numpy',
|
'numpy',
|
||||||
'scipy',
|
'scipy',
|
||||||
'matplotlib',
|
'matplotlib',
|
||||||
|
@@ -238,12 +238,15 @@ def main(argv = None):
|
|||||||
timestamp_to_seconds(total)))
|
timestamp_to_seconds(total)))
|
||||||
continue
|
continue
|
||||||
printf(" removing data before %s\n", timestamp_to_human(remove_before))
|
printf(" removing data before %s\n", timestamp_to_human(remove_before))
|
||||||
|
# Clean in reverse order. Since we only use the primary stream and not
|
||||||
|
# the decimated streams to figure out which data to remove, removing
|
||||||
|
# the primary stream last means that we might recover more nicely if
|
||||||
|
# we are interrupted and restarted.
|
||||||
|
clean_paths = list(reversed(streams[path].also_clean_paths)) + [ path ]
|
||||||
|
for p in clean_paths:
|
||||||
|
printf(" removing from %s\n", p)
|
||||||
if args.yes:
|
if args.yes:
|
||||||
client.stream_remove(path, None, remove_before)
|
client.stream_remove(p, None, remove_before)
|
||||||
for ap in streams[path].also_clean_paths:
|
|
||||||
printf(" also removing from %s\n", ap)
|
|
||||||
if args.yes:
|
|
||||||
client.stream_remove(ap, None, remove_before)
|
|
||||||
|
|
||||||
# All done
|
# All done
|
||||||
if not args.yes:
|
if not args.yes:
|
||||||
|
@@ -275,6 +275,10 @@ class Filter(object):
|
|||||||
Return value of 'function' is the number of data rows processed.
|
Return value of 'function' is the number of data rows processed.
|
||||||
Unprocessed data will be provided again in a subsequent call
|
Unprocessed data will be provided again in a subsequent call
|
||||||
(unless 'final' is True).
|
(unless 'final' is True).
|
||||||
|
|
||||||
|
If unprocessed data remains after 'final' is True, the interval
|
||||||
|
being inserted will be ended at the timestamp of the first
|
||||||
|
unprocessed data point.
|
||||||
"""
|
"""
|
||||||
if args is None:
|
if args is None:
|
||||||
args = []
|
args = []
|
||||||
@@ -319,7 +323,13 @@ class Filter(object):
|
|||||||
|
|
||||||
# Last call for this contiguous interval
|
# Last call for this contiguous interval
|
||||||
if old_array.shape[0] != 0:
|
if old_array.shape[0] != 0:
|
||||||
function(old_array, interval, args, insert_function, True)
|
processed = function(old_array, interval, args,
|
||||||
|
insert_function, True)
|
||||||
|
if processed != old_array.shape[0]:
|
||||||
|
# Truncate the interval we're inserting at the first
|
||||||
|
# unprocessed data point. This ensures that
|
||||||
|
# we'll not miss any data when we run again later.
|
||||||
|
insert_ctx.update_end(old_array[processed][0])
|
||||||
|
|
||||||
def main(argv = None):
|
def main(argv = None):
|
||||||
# This is just a dummy function; actual filters can use the other
|
# This is just a dummy function; actual filters can use the other
|
||||||
|
Reference in New Issue
Block a user