Mercurial > cpython-lru_cache-weakref
annotate Mac/scripts/cachersrc.py @ 58765:2ba7677bfa95 legacy-trunk
testCopysign was defined twice in test_math; combine the definitions
| author | Mark Dickinson <dickinsm@gmail.com> |
|---|---|
| date | Sat, 06 Feb 2010 23:11:25 +0000 |
| parents | c3a096bfbd6b |
| children | b5f535cf135f |
| rev | line source |
|---|---|
|
24697
eef73e8823d5
Tool to pre-created cached .rsrc.df.rsrc files in the Lib directories,
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
1 # Scan the tree passed as argv[0] for .rsrc files, skipping .rsrc.df.rsrc |
|
eef73e8823d5
Tool to pre-created cached .rsrc.df.rsrc files in the Lib directories,
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
2 # files, and open these. The effect of this is to create the .rsrc.df.rsrc |
|
eef73e8823d5
Tool to pre-created cached .rsrc.df.rsrc files in the Lib directories,
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
3 # cache files if needed. |
|
eef73e8823d5
Tool to pre-created cached .rsrc.df.rsrc files in the Lib directories,
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
4 # These are needed on OSX: the .rsrc files are in reality AppleSingle-encoded |
|
eef73e8823d5
Tool to pre-created cached .rsrc.df.rsrc files in the Lib directories,
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
5 # files. We decode the resources into a datafork-based resource file. |
|
eef73e8823d5
Tool to pre-created cached .rsrc.df.rsrc files in the Lib directories,
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
6 |
|
eef73e8823d5
Tool to pre-created cached .rsrc.df.rsrc files in the Lib directories,
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
7 import macresource |
|
eef73e8823d5
Tool to pre-created cached .rsrc.df.rsrc files in the Lib directories,
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
8 import os |
|
eef73e8823d5
Tool to pre-created cached .rsrc.df.rsrc files in the Lib directories,
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
9 import sys |
|
eef73e8823d5
Tool to pre-created cached .rsrc.df.rsrc files in the Lib directories,
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
10 import getopt |
|
eef73e8823d5
Tool to pre-created cached .rsrc.df.rsrc files in the Lib directories,
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
11 |
|
eef73e8823d5
Tool to pre-created cached .rsrc.df.rsrc files in the Lib directories,
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
12 class NoArgsError(Exception): |
|
32736
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
13 pass |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
14 |
|
24697
eef73e8823d5
Tool to pre-created cached .rsrc.df.rsrc files in the Lib directories,
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
15 def handler((verbose, force), dirname, fnames): |
|
32736
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
16 for fn in fnames: |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
17 if fn[-5:] == '.rsrc' and fn[-13:] != '.rsrc.df.rsrc': |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
18 if force: |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
19 try: |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
20 os.unlink(os.path.join(dirname, fn + '.df.rsrc')) |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
21 except IOError: |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
22 pass |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
23 macresource.open_pathname(os.path.join(dirname, fn), verbose=verbose) |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
24 |
|
24697
eef73e8823d5
Tool to pre-created cached .rsrc.df.rsrc files in the Lib directories,
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
25 def main(): |
|
32736
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
26 try: |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
27 opts, args = getopt.getopt(sys.argv[1:], 'vf') |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
28 if not args: |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
29 raise NoArgsError |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
30 except (getopt.GetoptError, NoArgsError): |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
31 sys.stderr.write('Usage: cachersrc.py dirname ...\n') |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
32 sys.exit(1) |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
33 verbose = 0 |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
34 force = 0 |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
35 for o, v in opts: |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
36 if o == '-v': |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
37 verbose = 1 |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
38 if o == '-f': |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
39 force = 1 |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
40 for dir in sys.argv[1:]: |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
41 os.path.walk(dir, handler, (verbose, force)) |
|
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
42 |
|
24697
eef73e8823d5
Tool to pre-created cached .rsrc.df.rsrc files in the Lib directories,
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
43 if __name__ == '__main__': |
|
32736
c3a096bfbd6b
Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents:
24697
diff
changeset
|
44 main() |
