import repository from arizona
[raven.git] / 2.0 / python / graphs / transfers_nest.py
1 #! /usr/bin/env python\r
2 import sys\r
3 import re\r
4 import os\r
5 \r
6 def main():\r
7 \r
8    log = {};\r
9    protocol = [];\r
10 \r
11 \r
12    match = re.compile("\{info\}\[arizona_stork2\] Attempting download via\: (.+)\{\/info\}")\r
13    fail = re.compile("\{info\}\[arizona_stork2\] (.*) failed to retrieve any files, trying next method\.\{\/info\}")\r
14 \r
15    count = 0\r
16    for file in os.listdir(sys.argv[1]):\r
17       print("%d. %s" % (count, file)) \r
18       os.system("bzcat %s > /tmp/logbuild" % file)\r
19       f = open("/tmp/logbuild")      \r
20       for line in f.readlines():\r
21          m = match.search(line)\r
22          if(m):\r
23             try:\r
24                log[m.group(1)] = log[m.group(1)] + 1\r
25             except KeyError:\r
26                log[m.group(1)] = 1\r
27                protocol.append(m.group(1))\r
28                \r
29          m = fail.search(line)\r
30          if(m):\r
31             try:\r
32                log[m.group(1) + "_fail"] = log[m.group(1) + "_fail"] + 1\r
33             except KeyError:\r
34                log[m.group(1) + "_fail"] = 1\r
35       f.close\r
36       count = count + 1   \r
37 \r
38    print("%10s\t%s\t%s" % ("Protocol","Uses","Failed"))     \r
39    print("===")\r
40    for i in protocol:\r
41       success = log[i]\r
42       fail = 0\r
43       try:\r
44          fail = log[i + "_fail"]\r
45       except KeyError:\r
46          pass\r
47 \r
48       print("%10s\t%d\t%d" % (i, success, fail))\r
49          \r
50    \r
51    \r
52 if __name__ == "__main__":\r
53    if len(sys.argv) != 2:\r
54       print("Usage: trans.py directory")\r
55       sys.exit()\r
56 \r
57    main()\r