annotate Lib/plat-mac/macresource.py @ 54294:dba767bc3155 legacy-trunk

remove mention of old ctypes version
author Benjamin Peterson <benjamin@python.org>
date Sat, 23 May 2009 20:59:09 +0000
parents e7a6a4515ab0
children 899bbcbaf9a6 34496bed9365
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26884
f0f9acca4164 Moved most of Mac/Lib hierarchy to Lib/plat-mac: it can be used both
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
1 """macresource - Locate and open the resources needed for a script."""
f0f9acca4164 Moved most of Mac/Lib hierarchy to Lib/plat-mac: it can be used both
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
2
46967
6df0394abbf1 Add warnings to and deprecated all those Mac modules
Benjamin Peterson <benjamin@python.org>
parents: 32736
diff changeset
3 from warnings import warnpy3k
47958
e7a6a4515ab0 fix test_py3kwarns
Benjamin Peterson <benjamin@python.org>
parents: 46967
diff changeset
4 warnpy3k("In 3.x, the macresource module is removed.", stacklevel=2)
46967
6df0394abbf1 Add warnings to and deprecated all those Mac modules
Benjamin Peterson <benjamin@python.org>
parents: 32736
diff changeset
5
26884
f0f9acca4164 Moved most of Mac/Lib hierarchy to Lib/plat-mac: it can be used both
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
6 from Carbon import Res
f0f9acca4164 Moved most of Mac/Lib hierarchy to Lib/plat-mac: it can be used both
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
7 import os
f0f9acca4164 Moved most of Mac/Lib hierarchy to Lib/plat-mac: it can be used both
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
8 import sys
27914
c7d7f350e96c When installing resource files whose name ends in .rsrc use the
Jack Jansen <jack.jansen@cwi.nl>
parents: 27102
diff changeset
9 import MacOS
c7d7f350e96c When installing resource files whose name ends in .rsrc use the
Jack Jansen <jack.jansen@cwi.nl>
parents: 27102
diff changeset
10 import macostools
26884
f0f9acca4164 Moved most of Mac/Lib hierarchy to Lib/plat-mac: it can be used both
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
11
f0f9acca4164 Moved most of Mac/Lib hierarchy to Lib/plat-mac: it can be used both
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
12 class ArgumentError(TypeError): pass
f0f9acca4164 Moved most of Mac/Lib hierarchy to Lib/plat-mac: it can be used both
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
13 class ResourceFileNotFoundError(ImportError): pass
f0f9acca4164 Moved most of Mac/Lib hierarchy to Lib/plat-mac: it can be used both
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
14
f0f9acca4164 Moved most of Mac/Lib hierarchy to Lib/plat-mac: it can be used both
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
15 def need(restype, resid, filename=None, modname=None):
28545
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
16 """Open a resource file, if needed. restype and resid
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
17 are required parameters, and identify the resource for which to test. If it
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
18 is available we are done. If it is not available we look for a file filename
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
19 (default: modname with .rsrc appended) either in the same folder as
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
20 where modname was loaded from, or otherwise across sys.path.
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 28545
diff changeset
21
28545
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
22 Returns the refno of the resource file opened (or None)"""
26884
f0f9acca4164 Moved most of Mac/Lib hierarchy to Lib/plat-mac: it can be used both
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
23
28545
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
24 if modname is None and filename is None:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
25 raise ArgumentError, "Either filename or modname argument (or both) must be given"
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 28545
diff changeset
26
28545
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
27 if type(resid) is type(1):
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
28 try:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
29 h = Res.GetResource(restype, resid)
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
30 except Res.Error:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
31 pass
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
32 else:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
33 return None
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
34 else:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
35 try:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
36 h = Res.GetNamedResource(restype, resid)
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
37 except Res.Error:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
38 pass
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
39 else:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
40 return None
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 28545
diff changeset
41
28545
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
42 # Construct a filename if we don't have one
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
43 if not filename:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
44 if '.' in modname:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
45 filename = modname.split('.')[-1] + '.rsrc'
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
46 else:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
47 filename = modname + '.rsrc'
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 28545
diff changeset
48
28545
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
49 # Now create a list of folders to search
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
50 searchdirs = []
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
51 if modname == '__main__':
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
52 # If we're main we look in the current directory
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
53 searchdirs = [os.curdir]
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
54 if sys.modules.has_key(modname):
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
55 mod = sys.modules[modname]
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
56 if hasattr(mod, '__file__'):
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
57 searchdirs = [os.path.dirname(mod.__file__)]
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
58 searchdirs.extend(sys.path)
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 28545
diff changeset
59
28545
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
60 # And look for the file
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
61 for dir in searchdirs:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
62 pathname = os.path.join(dir, filename)
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
63 if os.path.exists(pathname):
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
64 break
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
65 else:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
66 raise ResourceFileNotFoundError, filename
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 28545
diff changeset
67
28545
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
68 refno = open_pathname(pathname)
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 28545
diff changeset
69
28545
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
70 # And check that the resource exists now
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
71 if type(resid) is type(1):
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
72 h = Res.GetResource(restype, resid)
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
73 else:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
74 h = Res.GetNamedResource(restype, resid)
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
75 return refno
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 28545
diff changeset
76
26884
f0f9acca4164 Moved most of Mac/Lib hierarchy to Lib/plat-mac: it can be used both
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
77 def open_pathname(pathname, verbose=0):
28545
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
78 """Open a resource file given by pathname, possibly decoding an
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
79 AppleSingle file"""
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
80 try:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
81 refno = Res.FSpOpenResFile(pathname, 1)
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
82 except Res.Error, arg:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
83 if arg[0] in (-37, -39):
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
84 # No resource fork. We may be on OSX, and this may be either
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
85 # a data-fork based resource file or a AppleSingle file
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
86 # from the CVS repository.
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
87 try:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
88 refno = Res.FSOpenResourceFile(pathname, u'', 1)
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
89 except Res.Error, arg:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
90 if arg[0] != -199:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
91 # -199 is "bad resource map"
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
92 raise
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
93 else:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
94 return refno
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
95 # Finally try decoding an AppleSingle file
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
96 pathname = _decode(pathname, verbose=verbose)
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
97 refno = Res.FSOpenResourceFile(pathname, u'', 1)
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
98 else:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
99 raise
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
100 return refno
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 28545
diff changeset
101
28071
5b3d59b978a2 If a resource file cannot be decoded because the directory is readonly
Jack Jansen <jack.jansen@cwi.nl>
parents: 27914
diff changeset
102 def resource_pathname(pathname, verbose=0):
28545
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
103 """Return the pathname for a resource file (either DF or RF based).
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
104 If the pathname given already refers to such a file simply return it,
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
105 otherwise first decode it."""
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
106 try:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
107 refno = Res.FSpOpenResFile(pathname, 1)
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
108 Res.CloseResFile(refno)
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
109 except Res.Error, arg:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
110 if arg[0] in (-37, -39):
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
111 # No resource fork. We may be on OSX, and this may be either
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
112 # a data-fork based resource file or a AppleSingle file
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
113 # from the CVS repository.
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
114 try:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
115 refno = Res.FSOpenResourceFile(pathname, u'', 1)
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
116 except Res.Error, arg:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
117 if arg[0] != -199:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
118 # -199 is "bad resource map"
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
119 raise
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
120 else:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
121 return refno
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
122 # Finally try decoding an AppleSingle file
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
123 pathname = _decode(pathname, verbose=verbose)
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
124 else:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
125 raise
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
126 return pathname
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 28545
diff changeset
127
26884
f0f9acca4164 Moved most of Mac/Lib hierarchy to Lib/plat-mac: it can be used both
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
128 def open_error_resource():
28545
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
129 """Open the resource file containing the error code to error message
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
130 mapping."""
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
131 need('Estr', 1, filename="errors.rsrc", modname=__name__)
32736
c3a096bfbd6b Whitespace normalization, via reindent.py.
Tim Peters <tim.peters@gmail.com>
parents: 28545
diff changeset
132
28071
5b3d59b978a2 If a resource file cannot be decoded because the directory is readonly
Jack Jansen <jack.jansen@cwi.nl>
parents: 27914
diff changeset
133 def _decode(pathname, verbose=0):
28545
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
134 # Decode an AppleSingle resource file, return the new pathname.
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
135 newpathname = pathname + '.df.rsrc'
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
136 if os.path.exists(newpathname) and \
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
137 os.stat(newpathname).st_mtime >= os.stat(pathname).st_mtime:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
138 return newpathname
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
139 if hasattr(os, 'access') and not \
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
140 os.access(os.path.dirname(pathname), os.W_OK|os.X_OK):
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
141 # The destination directory isn't writeable. Create the file in
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
142 # a temporary directory
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
143 import tempfile
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
144 fd, newpathname = tempfile.mkstemp(".rsrc")
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
145 if verbose:
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
146 print 'Decoding', pathname, 'to', newpathname
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
147 import applesingle
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
148 applesingle.decode(pathname, newpathname, resonly=1)
017d2e3ea2ae Detabbed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 28071
diff changeset
149 return newpathname