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