- Check not only that cache file exists, but also that it is newer than
  the applesingle file.
- Added optional verbose option for cachersrc tool.
diff --git a/Mac/Lib/macresource.py b/Mac/Lib/macresource.py
index 23713a5..3a1161b 100644
--- a/Mac/Lib/macresource.py
+++ b/Mac/Lib/macresource.py
@@ -70,7 +70,7 @@
 		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 @@
 			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