]> git.parisson.com Git - timeside.git/commitdiff
scripts/timeside-launch: add results and graph output format options
authorPaul Brossier <piem@piem.org>
Tue, 3 Dec 2013 17:08:58 +0000 (12:08 -0500)
committerPaul Brossier <piem@piem.org>
Tue, 3 Dec 2013 17:08:58 +0000 (12:08 -0500)
scripts/timeside-launch

index bf0536e4ee7d4e57ae5e423cc4e72fc2ac1ee026..0943384c926747b23415a1251b1e94f37e3a5b60 100755 (executable)
@@ -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 = "<analyzers>")
     parser.add_option("-g", "--graphers", action = "store",
             dest = "graphers", type = str,
@@ -81,6 +81,17 @@ def parse_args():
             default = [],
             metavar = "<encoders>")
 
+    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 = "<formats>")
+    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 = "<formats>")
+
     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