~malept/ubuntu/lucid/python2.6/dev-dependency-fix

« back to all changes in this revision

Viewing changes to Mac/scripts/cachersrc.py

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2009-02-13 12:51:00 UTC
  • Revision ID: james.westby@ubuntu.com-20090213125100-uufgcb9yeqzujpqw
Tags: upstream-2.6.1
ImportĀ upstreamĀ versionĀ 2.6.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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.
 
6
 
 
7
import macresource
 
8
import os
 
9
import sys
 
10
import getopt
 
11
 
 
12
class NoArgsError(Exception):
 
13
    pass
 
14
 
 
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)
 
24
 
 
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))
 
42
 
 
43
if __name__ == '__main__':
 
44
    main()