Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit eaa1959

Browse files
committed
Use py_resource module
1 parent 0acb7f7 commit eaa1959

1 file changed

Lines changed: 10 additions & 46 deletions

File tree

Mac/scripts/PackLibDir.py

Lines changed: 10 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -6,69 +6,33 @@
66
import os
77
import macfs
88
import sys
9-
10-
READ = 1
11-
WRITE = 2
12-
smAllScripts = -3
9+
import py_resource
1310

1411
error = 'mkpycresourcefile.error'
1512

16-
def Pstring(str):
17-
if len(str) > 255:
18-
raise ValueError, 'String too large'
19-
return chr(len(str))+str
20-
21-
def createoutput(dst):
22-
"""Create output file. Return handle and first id to use."""
23-
24-
25-
FSpCreateResFile(dst, 'Pyth', 'rsrc', smAllScripts)
26-
output = FSpOpenResFile(dst, WRITE)
27-
UseResFile(output)
28-
num = 128
29-
return output, num
30-
31-
def writemodule(name, id, data):
32-
"""Write pyc code to a PYC resource with given name and id."""
33-
# XXXX Check that it doesn't exist
34-
res = Resource(data)
35-
res.AddResource('PYC ', id, name)
36-
res.WriteResource()
37-
res.ReleaseResource()
38-
3913
def mkpycresourcefile(src, dst):
4014
"""Copy pyc file/dir src to resource file dst."""
4115

4216
if not os.path.isdir(src) and src[-4:] <> '.pyc':
4317
raise error, 'I can only handle .pyc files or directories'
44-
handle, oid = createoutput(dst)
18+
fsid = py_resource.create(dst)
4519
if os.path.isdir(src):
46-
id = handlesubdir(handle, oid, src)
20+
handlesubdir(src)
4721
else:
48-
id = handleonepycfile(handle, oid, src)
49-
print 'Wrote',id-oid,'PYC resources to', dst
50-
CloseResFile(handle)
22+
id, name = py_resource.frompycfile(src)
23+
print 'Wrote %d: %s %s'%(id, name, src)
24+
CloseResFile(fsid)
5125

52-
def handleonepycfile(handle, id, file):
53-
"""Copy one pyc file to the open resource file"""
54-
d, name = os.path.split(file)
55-
name = name[:-4]
56-
print ' module', name
57-
writemodule(name, id, open(file, 'rb').read())
58-
return id+1
59-
60-
def handlesubdir(handle, id, srcdir):
26+
def handlesubdir(srcdir):
6127
"""Recursively scan a directory for pyc files and copy to resources"""
62-
print 'Directory', srcdir
6328
src = os.listdir(srcdir)
6429
for file in src:
6530
file = os.path.join(srcdir, file)
6631
if os.path.isdir(file):
67-
id = handlesubdir(handle, id, file)
32+
handlesubdir(file)
6833
elif file[-4:] == '.pyc':
69-
id = handleonepycfile(handle, id, file)
70-
return id
71-
34+
id, name = py_resource.frompycfile(file)
35+
print 'Wrote %d: %s %s'%(id, name, file)
7236

7337
if __name__ == '__main__':
7438
args = sys.argv[1:]

0 commit comments

Comments
 (0)