3 # feed this the results of 'tahoe catalog-shares' for all servers
11 for catalog in sys.argv[1:]:
12 for line in open(catalog, "r").readlines():
15 if pieces[0] == "CHK":
16 ftype, si, kN, size, ueb_hash, expiration, filename = pieces
17 if si not in chk_encodings:
18 chk_encodings[si] = (set(), set())
19 chk_encodings[si][0].add( (si, kN) )
20 chk_encodings[si][1].add( line )
21 if pieces[0] == "SDMF":
22 ftype, si, kN, size, ver, expiration, filename = pieces
23 if si not in sdmf_encodings:
24 sdmf_encodings[si] = (set(), set())
25 sdmf_encodings[si][0].add( (si, kN) )
26 sdmf_encodings[si][1].add( line )
27 if si not in sdmf_versions:
28 sdmf_versions[si] = (set(), set())
29 sdmf_versions[si][0].add( ver )
30 sdmf_versions[si][1].add( line )
32 chk_multiple_encodings = [(si,lines)
33 for si,(encodings,lines) in chk_encodings.items()
34 if len(encodings) > 1]
35 chk_multiple_encodings.sort()
36 sdmf_multiple_encodings = [(si,lines)
37 for si,(encodings,lines) in sdmf_encodings.items()
40 sdmf_multiple_encodings.sort()
41 sdmf_multiple_versions = [(si,lines)
42 for si,(versions,lines) in sdmf_versions.items()
44 sdmf_multiple_versions.sort()
46 if chk_multiple_encodings:
48 print "CHK multiple encodings:"
49 for (si,lines) in chk_multiple_encodings:
51 for line in sorted(lines):
53 if sdmf_multiple_encodings:
55 print "SDMF multiple encodings:"
56 for (si,lines) in sdmf_multiple_encodings:
58 for line in sorted(lines):
60 if sdmf_multiple_versions:
62 print "SDMF multiple versions:"
63 for (si,lines) in sdmf_multiple_versions:
65 for line in sorted(lines):