macostools.copy() now has an optional forcetype flag, which sets the filetype. This is used by various tools to set the type to APPL when copying interpreter template files (Atmp filetype).
diff --git a/Mac/Lib/macostools.py b/Mac/Lib/macostools.py
index 5b12fc0..d706856 100644
--- a/Mac/Lib/macostools.py
+++ b/Mac/Lib/macostools.py
@@ -78,7 +78,7 @@
dir_fss = macfs.FSSpec((vRefNum, dirID, ''))
f.update(dir_fss)
-def copy(src, dst, createpath=0, copydates=1):
+def copy(src, dst, createpath=0, copydates=1, forcetype=None):
"""Copy a file, including finder info, resource fork, etc"""
if createpath:
mkdirs(os.path.split(dst)[0])
@@ -106,6 +106,8 @@
sf = srcfss.GetFInfo()
df = dstfss.GetFInfo()
df.Creator, df.Type = sf.Creator, sf.Type
+ if forcetype != None:
+ df.Type = forcetype
df.Flags = (sf.Flags & (kIsStationary|kNameLocked|kHasBundle|kIsInvisible|kIsAlias))
dstfss.SetFInfo(df)
if copydates:
diff --git a/Mac/scripts/ConfigurePython.py b/Mac/scripts/ConfigurePython.py
index ec4dab4..aabaaf6 100644
--- a/Mac/scripts/ConfigurePython.py
+++ b/Mac/scripts/ConfigurePython.py
@@ -102,7 +102,7 @@
for src, dst in list:
src = os.path.join(top, src)
dst = os.path.join(top, dst)
- macostools.copy(src, dst)
+ macostools.copy(src, dst, forcetype="APPL")
def main():
verbose = 0
diff --git a/Mac/scripts/fullbuild.py b/Mac/scripts/fullbuild.py
index 4d18c08..3337512 100644
--- a/Mac/scripts/fullbuild.py
+++ b/Mac/scripts/fullbuild.py
@@ -167,7 +167,7 @@
for src, dst in list:
src = os.path.join(top, src)
dst = os.path.join(top, dst)
- macostools.copy(src, dst)
+ macostools.copy(src, dst, forcetype="APPL")
def handle_dialog(filename):
"""Handle selection dialog, return list of selected items"""