From ccd8e8d7419c5ac8a646fcecaf4b168b9341c147 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Fri, 9 Aug 2002 13:44:03 +0000 Subject: [PATCH] - Check not only that cache file exists, but also that it is newer than the applesingle file. - Added optional verbose option for cachersrc tool. --- Mac/Lib/macresource.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Mac/Lib/macresource.py b/Mac/Lib/macresource.py index 23713a58aee..3a1161b8ecc 100644 --- a/Mac/Lib/macresource.py +++ b/Mac/Lib/macresource.py @@ -70,7 +70,7 @@ def need(restype, resid, filename=None, modname=None): h = Res.GetNamedResource(restype, resid) return refno -def open_pathname(pathname): +def open_pathname(pathname, verbose=0): """Open a resource file given by pathname, possibly decoding an AppleSingle file""" try: @@ -89,17 +89,20 @@ def open_pathname(pathname): else: return refno # Finally try decoding an AppleSingle file - pathname = _decode(pathname) + pathname = _decode(pathname, verbose=verbose) refno = Res.FSOpenResourceFile(pathname, u'', 1) else: raise return refno -def _decode(pathname): +def _decode(pathname, verbose=0): # Decode an AppleSingle resource file, return the new pathname. newpathname = pathname + '.df.rsrc' - if os.path.exists(newpathname): + if os.path.exists(newpathname) and \ + os.stat(newpathname).st_mtime >= os.stat(pathname).st_mtime: return newpathname + if verbose: + print 'Decoding', pathname import applesingle applesingle.decode(pathname, newpathname, resonly=1) return newpathname