Commit 32d1a3b1 authored by Jack Jansen's avatar Jack Jansen

Fixed to work under MachoPython, doing the expected unpacking for applesingle...

Fixed to work under MachoPython, doing the expected unpacking for applesingle files. The IDE still doesn't work, though, because it uses :-style pathnames.
parent d48b1062
......@@ -61,11 +61,33 @@ def need(restype, resid, filename=None, modname=None):
else:
raise ResourceFileNotFoundError, filename
refno = Res.FSpOpenResFile(pathname, 1)
try:
refno = Res.FSpOpenResFile(pathname, 1)
except Res.Error, arg:
if arg[0] in (-37, -39):
# No resource fork. We may be on OSX, try to decode
# the applesingle file.
pathname = _decode(pathname)
if pathname:
refno = Res.FSOpenResourceFile(pathname, u'', 1)
else:
raise
# And check that the resource exists now
if type(resid) is type(1):
h = Res.GetResource(restype, resid)
else:
h = Res.GetNamedResource(restype, resid)
return refno
\ No newline at end of file
return refno
def _decode(pathname):
# Decode an AppleSingle resource file, return the new pathname.
newpathname = pathname + '.df.rsrc'
if os.path.exists(newpathname):
return newpathname
import applesingle
applesingle.decode(pathname, newpathname, resonly=1)
return newpathname
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment