]> granicus.if.org Git - python/commitdiff
Modified to allow it to run in MachoPython in a reasonable way. It still
authorJack Jansen <jack.jansen@cwi.nl>
Sat, 30 Mar 2002 23:43:04 +0000 (23:43 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Sat, 30 Mar 2002 23:43:04 +0000 (23:43 +0000)
needs a decent commandline interface, though.

Mac/scripts/gensuitemodule.py

index 5a4c806ab18ca89d027c8435deb140f50140af7f..4f2ddc0d741f041480620523228fb7aed978037d 100644 (file)
@@ -14,20 +14,27 @@ import types
 import StringIO
 import macfs
 import keyword
+import macresource
 
 from Carbon.Res import *
 
+DEFAULT_PACKAGEFOLDER=os.path.join(sys.prefix, 'Mac', 'Lib', 'lib-scriptpackages')
+
 def main():
-       fss, ok = macfs.PromptGetFile('Select file with aeut/aete resource:')
-       if not ok:
-               sys.exit(0)
-       processfile(fss.as_pathname())
+       if len(sys.argv) > 1:
+               for filename in sys.argv[1:]:
+                       processfile(filename)
+       else:
+               fss, ok = macfs.PromptGetFile('Select file with aeut/aete resource:')
+               if not ok:
+                       sys.exit(0)
+               processfile(fss.as_pathname())
 
 def processfile(fullname):
        """Process all resources in a single file"""
        cur = CurResFile()
-       print fullname
-       rf = OpenRFPerm(fullname, 0, 1)
+       print "Processing", fullname
+       rf = macresource.open_pathname(fullname)
        try:
                UseResFile(rf)
                resources = []
@@ -225,15 +232,15 @@ def compileaete(aete, resinfo, fname):
        major, minor = divmod(version, 256)
        fss = macfs.FSSpec(fname)
        creatorsignature, dummy = fss.GetCreatorType()
-       packagename = identify(os.path.basename(fname))
+       packagename = identify(os.path.splitext(os.path.basename(fname))[0])
        if language:
                packagename = packagename+'_lang%d'%language
        if script:
                packagename = packagename+'_script%d'%script
        if len(packagename) > 27:
                packagename = packagename[:27]
-       macfs.SetFolder(os.path.join(sys.prefix, ':Mac:Lib:lib-scriptpackages'))
-       fss, ok = macfs.GetDirectory('Package folder for %s'%packagename)
+       macfs.SetFolder(DEFAULT_PACKAGEFOLDER)
+       fss, ok = macfs.GetDirectory('Create and select package folder for %s'%packagename)
        if not ok:
                return
        pathname = fss.as_pathname()
@@ -288,7 +295,7 @@ def compileaete(aete, resinfo, fname):
                for code, modname in suitelist[1:]:
                        fp.write(",\n\t\t%s_Events"%modname)
                fp.write(",\n\t\taetools.TalkTo):\n")
-               fp.write("\t_signature = '%s'\n\n"%creatorsignature)
+               fp.write("\t_signature = %s\n\n"%`creatorsignature`)
        fp.close()
        
 def precompilesuite(suite, basepackage=None):