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 )
33 chk_multiple_encodings = [(si,lines)
34 for si,(encodings,lines) in chk_encodings.items()
35 if len(encodings) > 1]
36 chk_multiple_encodings.sort()
37 sdmf_multiple_encodings = [(si,lines)
38 for si,(encodings,lines) in sdmf_encodings.items()
41 sdmf_multiple_encodings.sort()
42 sdmf_multiple_versions = [(si,lines)
43 for si,(versions,lines) in sdmf_versions.items()
45 sdmf_multiple_versions.sort()
47 if chk_multiple_encodings:
49 print "CHK multiple encodings:"
50 for (si,lines) in chk_multiple_encodings:
52 for line in sorted(lines):
54 if sdmf_multiple_encodings:
56 print "SDMF multiple encodings:"
57 for (si,lines) in sdmf_multiple_encodings:
59 for line in sorted(lines):
61 if sdmf_multiple_versions:
63 print "SDMF multiple versions:"
64 for (si,lines) in sdmf_multiple_versions:
66 for line in sorted(lines):