ยปCore Development>Code coverage>Mac/scripts/cachersrc.py

Python code coverage for Mac/scripts/cachersrc.py

#countcontent
1n/a# Scan the tree passed as argv[0] for .rsrc files, skipping .rsrc.df.rsrc
2n/a# files, and open these. The effect of this is to create the .rsrc.df.rsrc
3n/a# cache files if needed.
4n/a# These are needed on OSX: the .rsrc files are in reality AppleSingle-encoded
5n/a# files. We decode the resources into a datafork-based resource file.
6n/a
7n/aimport macresource
8n/aimport os
9n/aimport sys
10n/aimport getopt
11n/a
12n/aclass NoArgsError(Exception):
13n/a pass
14n/a
15n/adef handler((verbose, force), dirname, fnames):
16n/a for fn in fnames:
17n/a if fn[-5:] == '.rsrc' and fn[-13:] != '.rsrc.df.rsrc':
18n/a if force:
19n/a try:
20n/a os.unlink(os.path.join(dirname, fn + '.df.rsrc'))
21n/a except IOError:
22n/a pass
23n/a macresource.open_pathname(os.path.join(dirname, fn), verbose=verbose)
24n/a
25n/adef main():
26n/a try:
27n/a opts, args = getopt.getopt(sys.argv[1:], 'vf')
28n/a if not args:
29n/a raise NoArgsError
30n/a except (getopt.GetoptError, NoArgsError):
31n/a sys.stderr.write('Usage: cachersrc.py dirname ...\n')
32n/a sys.exit(1)
33n/a verbose = 0
34n/a force = 0
35n/a for o, v in opts:
36n/a if o == '-v':
37n/a verbose = 1
38n/a if o == '-f':
39n/a force = 1
40n/a for dir in sys.argv[1:]:
41n/a os.path.walk(dir, handler, (verbose, force))
42n/a
43n/aif __name__ == '__main__':
44n/a main()