from ftg.utils.common import CommonUtils
from ftg.parser.ovs_flow_dump import OVSFlowDumpParser
+from ftg.parser.csv import CSVParser
+from ftg.parser.tsv import TSVParser
class Grapher():
-
- def __init__(self, util, dump_file, formatter):
+ DUMP_FILE_OVS = 1
+ DUMP_FILE_CSV = 2
+ DUMP_FILE_TSV = 3
+
+ def __init__(self, util, dump_file, dump_file_type, formatter):
self.util = util
self.dump_file = dump_file
+ self.dump_file_type = dump_file_type
self.formatter = formatter
def run(self):
- parser = OVSFlowDumpParser(self.util, self.dump_file)
+ if self.dump_file_type == self.DUMP_FILE_OVS:
+ parser = OVSFlowDumpParser(self.util, self.dump_file)
+ elif self.dump_file_type == self.DUMP_FILE_CSV:
+ parser = CSVParser(self.util, self.dump_file)
+ elif self.dump_file_type == self.DUMP_FILE_TSV:
+ parser = TSVParser(self.util, self.dump_file)
+ else:
+ util.error_out("specify flow file with -i or -c or -t option.")
+ sys.exit(1)
+
parser.parse()
tables = parser.get_tables()
self.formatter.set_tables(tables)
for formatted_line in self.formatter.format():
print formatted_line
-
-# for action in self.actions:
-# action_title = "ACTION: " + action
-# self.util.message_out("\n" + action_title)
-# self.util.message_out("-" * len(action_title))
-# action_type = str(self.scenario.get_item(action, "ACTION")).upper()
-# action_params = self.scenario.get_items_as_dict(action)
-# if action_type == "GENERATE":
-# packet_def_name = str(
-# self.scenario.get_item(action, "PACKET_DEF"))
-# task_runner = PacketGenerator(self.util, self._get_packet_def(
-# packet_def_name), action_params, self.reporter)
-# elif action_type == "CAPTURE":
-# task_runner = PacketCapture(
-# self.util, self.packet_templates, action_params, self.reporter)
-# elif action_type == "ANALYZE":
-# task_runner = PacketAnalyzer(
-# self.util, self.packet_templates, action_params, self.reporter)
-# else:
-# packet_def_name = str(
-# self.scenario.get_item(action, "PACKET_DEF"))
-# task_runner = PacketGenerator(self.util, self._get_packet_def(
-# packet_def_name), action_params, self.reporter)
-# task_runner.run()