OSDN Git Service

add the feature to output a description of the table
[ftg/ftg.git] / ftg.py
diff --git a/ftg.py b/ftg.py
index 31241dd..dbb8da0 100755 (executable)
--- a/ftg.py
+++ b/ftg.py
@@ -6,7 +6,7 @@
 #            you can capture and anlyze.
 #
 
-__version__ = "0.3"
+__version__ = "0.7"
 
 import sys
 import os
@@ -17,6 +17,7 @@ from ftg.utils.common import CommonUtils
 from ftg.formatter.graphviz_tb import GraphvizTBFormatter
 from ftg.formatter.csv import CSVFormatter
 from ftg.formatter.tsv import TSVFormatter
+from ftg.formatter.ovs_add_flow import OVSAddFlowFormatter
 
 
 if __name__ == "__main__":
@@ -33,11 +34,14 @@ if __name__ == "__main__":
         help="specify TSV dump FILE", metavar="FILE")
     p.add_option(
         '-f', '--formatter', dest='formatter',
-        help="specify formatter (graphviz, csv, tsv)", default="graphviz")
+        help="specify formatter (graphviz, csv, tsv, ovsflow)", default="graphviz")
     p.add_option(
         '-b', '--entries_per_block', dest='entries_per_block', type='int',
         help="specify number of entries in priority block", default=10)
     p.add_option(
+        '-l', '--description_list_file', dest='description_list_file',
+        help="specify description list FILE", metavar="FILE")
+    p.add_option(
         '-T', '--tables', dest='output_target_tables',
         help="specify the tables to be output.")
     p.add_option(
@@ -82,22 +86,25 @@ if __name__ == "__main__":
         formatter = CSVFormatter(util)
     elif  opts.formatter == "tsv":
         formatter = TSVFormatter(util)
+    elif  opts.formatter == "ovsflow":
+        formatter = OVSAddFlowFormatter(util)
     else:
         util.error_out("specify valid formatter.")
         sys.exit(1)
 
+    # load description list
+    if opts.description_list_file is not None and opts.description_list_file != "":
+        formatter.set_description_list_file(opts.description_list_file)
+        formatter.load_description_list()
+        
     if opts.ovs_dump_file is not None and opts.ovs_dump_file != "":
         grapher = Grapher(util, opts.ovs_dump_file, Grapher.DUMP_FILE_OVS, formatter)
-        grapher.run()
     elif opts.csv_dump_file is not None and opts.csv_dump_file != "":
         grapher = Grapher(util, opts.csv_dump_file, Grapher.DUMP_FILE_CSV, formatter)
-        grapher.run()
     elif opts.tsv_dump_file is not None and opts.tsv_dump_file != "":
         grapher = Grapher(util, opts.tsv_dump_file, Grapher.DUMP_FILE_TSV, formatter)
-        grapher.run()
     else:
         util.error_out("specify flow file with -i or -c or -t option.")
         sys.exit(1)
-        
-
-     
+    
+    grapher.run()