]> granicus.if.org Git - python/commitdiff
Use py_resource module
authorJack Jansen <jack.jansen@cwi.nl>
Fri, 31 May 1996 13:02:52 +0000 (13:02 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Fri, 31 May 1996 13:02:52 +0000 (13:02 +0000)
Mac/scripts/PackLibDir.py

index 2afb26f5853e1127f3c8825e8a1c8ba7d693303f..11803186ca2a008ca7c5b49f78b96572e241a873 100644 (file)
@@ -6,69 +6,33 @@ from Resources import *
 import os
 import macfs
 import sys
-
-READ = 1
-WRITE = 2
-smAllScripts = -3
+import py_resource
 
 error = 'mkpycresourcefile.error'
 
-def Pstring(str):
-       if len(str) > 255:
-               raise ValueError, 'String too large'
-       return chr(len(str))+str
-       
-def createoutput(dst):
-       """Create output file. Return handle and first id to use."""
-       
-
-       FSpCreateResFile(dst, 'Pyth', 'rsrc', smAllScripts)
-       output = FSpOpenResFile(dst, WRITE)
-       UseResFile(output)
-       num = 128
-       return output, num
-       
-def writemodule(name, id, data):
-       """Write pyc code to a PYC resource with given name and id."""
-       # XXXX Check that it doesn't exist
-       res = Resource(data)
-       res.AddResource('PYC ', id, name)
-       res.WriteResource()
-       res.ReleaseResource()
-               
 def mkpycresourcefile(src, dst):
        """Copy pyc file/dir src to resource file dst."""
        
        if not os.path.isdir(src) and src[-4:] <> '.pyc':
                        raise error, 'I can only handle .pyc files or directories'
-       handle, oid = createoutput(dst)
+       fsid = py_resource.create(dst)
        if os.path.isdir(src):
-               id = handlesubdir(handle, oid, src)
+               handlesubdir(src)
        else:
-               id = handleonepycfile(handle, oid, src)
-       print 'Wrote',id-oid,'PYC resources to', dst
-       CloseResFile(handle)
+               id, name = py_resource.frompycfile(src)
+               print 'Wrote %d: %s %s'%(id, name, src)
+       CloseResFile(fsid)
                        
-def handleonepycfile(handle, id, file):
-       """Copy one pyc file to the open resource file"""
-       d, name = os.path.split(file)
-       name = name[:-4]
-       print '  module', name
-       writemodule(name, id, open(file, 'rb').read())
-       return id+1
-       
-def handlesubdir(handle, id, srcdir):
+def handlesubdir(srcdir):
        """Recursively scan a directory for pyc files and copy to resources"""
-       print 'Directory', srcdir
        src = os.listdir(srcdir)
        for file in src:
                file = os.path.join(srcdir, file)
                if os.path.isdir(file):
-                       id = handlesubdir(handle, id, file)
+                       handlesubdir(file)
                elif file[-4:] == '.pyc':
-                       id = handleonepycfile(handle, id, file)
-       return id
-                               
+                       id, name = py_resource.frompycfile(file)
+                       print 'Wrote %d: %s %s'%(id, name, file)
        
 if __name__ == '__main__':
        args = sys.argv[1:]