From aed52650196066ee3d922f0427d0960d00283c37 Mon Sep 17 00:00:00 2001 From: Paul Brossier Date: Tue, 3 Dec 2013 12:08:58 -0500 Subject: [PATCH] scripts/timeside-launch: add results and graph output format options --- scripts/timeside-launch | 49 +++++++++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 12 deletions(-) diff --git a/scripts/timeside-launch b/scripts/timeside-launch index bf0536e..0943384 100755 --- a/scripts/timeside-launch +++ b/scripts/timeside-launch @@ -68,7 +68,7 @@ def parse_args(): parser.add_option("-a", "--analyzers", action = "store", dest = "analyzers", type = str, help="analyzers in the pipeline", - default = [], + default = 'Level', metavar = "") parser.add_option("-g", "--graphers", action = "store", dest = "graphers", type = str, @@ -81,6 +81,17 @@ def parse_args(): default = [], metavar = "") + parser.add_option("-R", "--results-formats", action = "store", + dest = "r_formats", type = str, + help = "list of results output formats for the analyzers results", + default = 'yaml', + metavar = "") + parser.add_option("-I", "--images-formats", action = "store", + dest = "i_formats", type = str, + help = "list of graph output formats for the analyzers results", + default = 'yaml', + metavar = "") + parser.add_option("-o", "--ouput-directory", action = "store", dest = "outputdir", type = str, help="output directory", @@ -95,6 +106,18 @@ def parse_args(): options.graphers = options.graphers.split(',') if options.encoders: options.encoders = options.encoders.split(',') + if options.r_formats: + options.r_formats = options.r_formats.split(',') + known_r_formats = ['json', 'yaml', 'xml', 'hdf5'] + for f in options.r_formats: + if f not in known_r_formats: + raise ValueError("unknown result format %s, possible values %s" % (f, known_r_formats)) + if options.i_formats: + options.i_formats = options.i_formats.split(',') + known_i_formats = ['png', 'jpg', 'tiff'] + for f in options.i_formats: + if f not in known_i_formats: + raise ValueError("unknown graph output format %s, possible values %s" % (f, known_i_formats)) if options.config_file: if not os.path.isfile(options.config_file): @@ -128,6 +151,8 @@ if __name__ == '__main__': samplerate = options.samplerate blocksize = options.blocksize outputdir = options.outputdir + r_formats = options.r_formats + i_formats = options.i_formats analyzers = options.analyzers graphers = options.graphers encoders = options.encoders @@ -181,19 +206,19 @@ if __name__ == '__main__': pipe.run() if len(_analyzers): - container = timeside.analyzer.core.AnalyzerResultContainer() - for a in _analyzers: - container.add(a.results.values()) - result_path = os.path.join(outputdir, decoder.uuid() + '.hf5') - container.to_hdf5(result_path) - if verbose : print 'saved', result_path + results = pipe.results + for f in r_formats: + result_path = os.path.join(outputdir, decoder.uuid() + '.' + f) + getattr(results,'to_'+f)(result_path) + if verbose : print 'saved', result_path if len(_graphers): for g in _graphers: - graph_path = os.path.join(outputdir, decoder.uuid(), g.id() + '.png') - if not os.path.isdir(os.path.dirname(graph_path)): - os.makedirs(os.path.dirname(graph_path)) - g.render(graph_path) - if verbose : print 'saved', graph_path + for f in i_formats: + graph_path = os.path.join(outputdir, decoder.uuid(), g.id() + '.' + f) + if not os.path.isdir(os.path.dirname(graph_path)): + os.makedirs(os.path.dirname(graph_path)) + g.render(graph_path) + if verbose : print 'saved', graph_path if len(_encoders): for e in _encoders: if verbose : print 'saved', e.filename -- 2.39.5