summaryrefslogtreecommitdiffstats
path: root/scripts/doc_process.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/doc_process.py')
-rwxr-xr-xscripts/doc_process.py109
1 files changed, 109 insertions, 0 deletions
diff --git a/scripts/doc_process.py b/scripts/doc_process.py
new file mode 100755
index 00000000..d371cc02
--- /dev/null
+++ b/scripts/doc_process.py
@@ -0,0 +1,109 @@
+import sys,os
+import re
+import argparse
+
+
+class doc_driver(object):
+ args=None;
+
+def str_hex_to_ip(ip_hex):
+ bytes = ["".join(x) for x in zip(*[iter(ip_hex)]*2)]
+ bytes = [int(x, 16) for x in bytes]
+ s=".".join(str(x) for x in bytes)
+ return s
+
+class CTemplateFile:
+ def __init__ (self):
+ self.l=[];
+
+ def dump (self):
+ print "pkt,time sec,template,fid,flow-pkt-id,client_ip,client_port,server_ip ,desc"
+ for obj in self.l:
+ s='';
+ if obj[7]=='1':
+ s ='->'
+ else:
+ s ='<-'
+
+ print obj[0],",",obj[1],",",obj[6],",", obj[2],",",obj[4],",",str_hex_to_ip(obj[11]),",",obj[13],",",str_hex_to_ip(obj[12]),",",s
+
+ def dump_sj (self):
+ flows=0;
+ print "["
+ for obj in self.l:
+ print "[",
+ print obj[1],",",int("0x"+obj[2],16),",",obj[6],",",obj[4],
+ print "],"
+
+ print "]"
+
+
+
+ def load_file (self,file):
+ f=open(file,'r');
+ x=f.readlines()
+ f.close();
+ found=False;
+ for line in x:
+ if found :
+ line=line.rstrip('\n');
+ info=line.split(',');
+ if len(info)>5:
+ self.l+=[info];
+ else:
+ break;
+ else:
+ if 'pkt_id' in line:
+ found=True;
+
+
+
+
+def do_main ():
+ temp = CTemplateFile();
+ temp.load_file(doc_driver.args.file)
+ temp.dump();
+ temp.dump_sj();
+
+
+def process_options ():
+ parser = argparse.ArgumentParser(usage="""
+ doc_process -f <debug_output>
+ """,
+ description="process bp-sim output for docomentation",
+ epilog=" written by hhaim");
+
+ parser.add_argument("-f", "--file", dest="file",
+ metavar="file",
+ required=True)
+
+ parser.add_argument('--version', action='version',
+ version="0.1" )
+
+ doc_driver.args = parser.parse_args();
+
+
+
+def main ():
+ try:
+ process_options ();
+ do_main ()
+ exit(0);
+ except Exception, e:
+ print str(e);
+ exit(-1);
+
+
+
+if __name__ == "__main__":
+ main()
+
+
+
+
+
+
+
+
+
+