Handle .icns and .plist files for applets.
Also, for now (until we learn to parse .plist files) we make a special case
for the IDE, setting the creator to "Pide".
diff --git a/Mac/Lib/buildtools.py b/Mac/Lib/buildtools.py
index 25f77e6..0eef5ac 100644
--- a/Mac/Lib/buildtools.py
+++ b/Mac/Lib/buildtools.py
@@ -268,7 +268,18 @@
if shortname[-4:] == '.app':
# Strip the .app suffix
shortname = shortname[:-4]
- plistname = shortname + '.plist'
+ # And deduce the .plist and .icns names
+ plistname = None
+ icnsname = None
+ if rsrcname and rsrcname[-5:] == '.rsrc':
+ tmp = rsrcname[:-5]
+ plistname = tmp + '.plist'
+ if os.path.exists(plistname):
+ icnsname = tmp + '.icns'
+ if not os.path.exists(icnsname):
+ icnsname = None
+ else:
+ plistname = None
# Start with copying the .app framework
if not is_update:
exceptlist = ["Contents/Info.plist",
@@ -277,11 +288,18 @@
]
copyapptree(template, destname, exceptlist)
# Now either use the .plist file or the default
- if plistname and os.path.exists(plistname):
+ if plistname:
shutil.copy2(plistname, os.path.join(destname, 'Contents/Info.plist'))
- # XXXX Wrong. This should be parsed from plist file
- # icnsname = 'PythonApplet.icns'
- ownertype = 'PytA'
+ if icnsname:
+ icnsdest = os.path.split(icnsname)[1]
+ icnsdest = os.path.join(destname,
+ os.path.join('Contents/Resources', icnsdest))
+ shutil.copy2(icnsname, icnsdest)
+ # XXXX Wrong. This should be parsed from plist file. Also a big hack:-)
+ if shortname == 'PythonIDE':
+ ownertype = 'Pide'
+ else:
+ ownertype = 'PytA'
# XXXX Should copy .icns file
else:
plistname = os.path.join(template, 'Contents/Resources/Applet-Info.plist')