ยปCore Development>Code coverage>Mac/Demo/resources/listres.py

Python code coverage for Mac/Demo/resources/listres.py

#countcontent
1n/a# List all resources
2n/a
3n/afrom Carbon import Res
4n/afrom Carbon.Resources import *
5n/a
6n/adef list1resources():
7n/a ntypes = Res.Count1Types()
8n/a for itype in range(1, 1+ntypes):
9n/a type = Res.Get1IndType(itype)
10n/a print "Type:", repr(type)
11n/a nresources = Res.Count1Resources(type)
12n/a for i in range(1, 1 + nresources):
13n/a Res.SetResLoad(0)
14n/a res = Res.Get1IndResource(type, i)
15n/a Res.SetResLoad(1)
16n/a info(res)
17n/a
18n/adef listresources():
19n/a ntypes = Res.CountTypes()
20n/a for itype in range(1, 1+ntypes):
21n/a type = Res.GetIndType(itype)
22n/a print "Type:", repr(type)
23n/a nresources = Res.CountResources(type)
24n/a for i in range(1, 1 + nresources):
25n/a Res.SetResLoad(0)
26n/a res = Res.GetIndResource(type, i)
27n/a Res.SetResLoad(1)
28n/a info(res)
29n/a
30n/adef info(res):
31n/a print res.GetResInfo(), res.SizeResource(), decodeattrs(res.GetResAttrs())
32n/a
33n/aattrnames = {
34n/a resChanged: 'Changed',
35n/a resPreload: 'Preload',
36n/a resProtected: 'Protected',
37n/a resLocked: 'Locked',
38n/a resPurgeable: 'Purgeable',
39n/a resSysHeap: 'SysHeap',
40n/a}
41n/a
42n/adef decodeattrs(attrs):
43n/a names = []
44n/a for bit in range(16):
45n/a mask = 1<<bit
46n/a if attrs & mask:
47n/a if attrnames.has_key(mask):
48n/a names.append(attrnames[mask])
49n/a else:
50n/a names.append(hex(mask))
51n/a return names
52n/a
53n/adef test():
54n/a print "=== Local resourcess ==="
55n/a list1resources()
56n/a print "=== All resources ==="
57n/a listresources()
58n/a
59n/aif __name__ == '__main__':
60n/a test()