33import time
44import hashlib
55
6- storage1 = {}
6+ storage1 = {}
77storage2 = {}
88
9+
910def cleanHash (toHash ):
1011 return hashlib .sha224 (toHash ).hexdigest ()
1112
12- def sec_start (job ,header ):
13+
14+ def sec_start (job , header ):
1315 print ('section_start\r \033 [0K' + header )
1416
17+
1518def sec_end (job ):
1619 print ('section_end\r \033 [0K' )
1720
18- with open (sys .argv [1 ],'r' ) as f :
21+
22+ with open (sys .argv [1 ], 'r' ) as f :
1923 data = json .load (f )
2024 for message in data ['messages' ]:
2125 mtyp = message ['type' ].encode ('utf-8' , 'ignore' )
2226 murl = message ['url' ].encode ('utf-8' , 'ignore' )
2327 mmes = message ['message' ].encode ('utf-8' , 'ignore' )
2428 if mtyp not in storage1 .keys ():
25- storage1 [mtyp ] = {"messages" :{}, "cnt" :0 }
26- storage2 [mtyp ] = {"urls" :{}, "cnt" :0 }
29+ storage1 [mtyp ] = {"messages" : {}, "cnt" : 0 }
30+ storage2 [mtyp ] = {"urls" : {}, "cnt" : 0 }
2731 if mmes not in storage1 [mtyp ]["messages" ].keys ():
28- storage1 [mtyp ]["messages" ][mmes ] = {"urls" :{}, "cnt" :0 }
32+ storage1 [mtyp ]["messages" ][mmes ] = {"urls" : {}, "cnt" : 0 }
2933 if murl not in storage2 [mtyp ]["urls" ].keys ():
30- storage2 [mtyp ]["urls" ][murl ] = {"messages" :{}, "cnt" :0 }
34+ storage2 [mtyp ]["urls" ][murl ] = {"messages" : {}, "cnt" : 0 }
3135 if murl not in storage1 [mtyp ]["messages" ][mmes ]["urls" ].keys ():
3236 storage1 [mtyp ]["messages" ][mmes ]["urls" ][murl ] = 0
3337 if mmes not in storage2 [mtyp ]["urls" ][murl ]["messages" ].keys ():
@@ -38,18 +42,18 @@ def sec_end(job):
3842 storage2 [mtyp ]["urls" ][murl ]["messages" ][mmes ] += 1
3943 storage2 [mtyp ]["urls" ][murl ]["cnt" ] += 1
4044 storage2 [mtyp ]["cnt" ] += 1
41- # Stats
42- for key ,value in sorted (storage1 .items (), key = lambda x :x [1 ]['cnt' ]):
43- print ("Type: {}, Totalfound: {}" .format (key , value ["cnt" ]))
44- for key2 ,value2 in sorted (storage1 [key ]["messages" ].items (), key = lambda x :x [1 ]['cnt' ], reverse = True ):
45+
46+ for key , value in sorted (storage1 .items (), key = lambda x : x [1 ]['cnt' ]):
47+ print ("Type: {}, Totalfound: {}" .format (key , value ["cnt" ]))
48+ for key2 , value2 in sorted (storage1 [key ]["messages" ].items (), key = lambda x : x [1 ]['cnt' ], reverse = True ):
4549 sec_start (key + key2 , key2 )
46- print ("[{}] [{}%] Message: {}" .format (key , round (100 * value2 ["cnt" ]/ value ["cnt" ],2 ), key2 ))
47- for key3 ,value3 in sorted (storage1 [key ]["messages" ][key2 ]["urls" ].items (), key = lambda x :x [1 ], reverse = True ):
48- print ("[{}%] URL: {}" .format (round (100 * value3 / value2 ["cnt" ],2 ), key3 ))
50+ print ("[{}] [{}%] Message: {}" .format (key , round (100 * value2 ["cnt" ]/ value ["cnt" ], 2 ), key2 ))
51+ for key3 , value3 in sorted (storage1 [key ]["messages" ][key2 ]["urls" ].items (), key = lambda x : x [1 ], reverse = True ):
52+ print ("[{}%] URL: {}" .format (round (100 * value3 / value2 ["cnt" ], 2 ), key3 ))
4953 sec_end (key + key2 )
50- for key2 ,value2 in sorted (storage2 [key ]["urls" ].items (), key = lambda x :x [1 ]['cnt' ], reverse = True ):
54+ for key2 , value2 in sorted (storage2 [key ]["urls" ].items (), key = lambda x : x [1 ]['cnt' ], reverse = True ):
5155 sec_start (key + key2 , key2 )
52- print ("[{}] [{}%] URL: {}" .format (key , round (100 * value2 ["cnt" ]/ value ["cnt" ],2 ), key2 ))
53- for key3 ,value3 in sorted (storage2 [key ]["urls" ][key2 ]["messages" ].items (), key = lambda x :x [1 ], reverse = True ):
54- print ("[{}%] Message: {}" .format (round (100 * value3 / value2 ["cnt" ],2 ), key3 ))
56+ print ("[{}] [{}%] URL: {}" .format (key , round (100 * value2 ["cnt" ]/ value ["cnt" ], 2 ), key2 ))
57+ for key3 , value3 in sorted (storage2 [key ]["urls" ][key2 ]["messages" ].items (), key = lambda x : x [1 ], reverse = True ):
58+ print ("[{}%] Message: {}" .format (round (100 * value3 / value2 ["cnt" ], 2 ), key3 ))
5559 sec_end (key + key2 )
0 commit comments