Use MacOS.openrf (if it is available) for opening resource forks

Copy in .5Mb chunks in stead of 1Mb
This commit is contained in:
Jack Jansen 1996-03-12 13:33:34 +00:00
parent db9ff36ad9
commit 0603319846
1 changed files with 9 additions and 3 deletions

View File

@ -8,12 +8,18 @@ import macfs
import Res import Res
import os import os
from MACFS import * from MACFS import *
import MacOS
try:
openrf = MacOS.openrf
except AttributeError:
# Backward compatability
openrf = open
Error = 'macostools.Error' Error = 'macostools.Error'
FSSpecType = type(macfs.FSSpec(':')) FSSpecType = type(macfs.FSSpec(':'))
BUFSIZ=0x100000 # Copy in 1Mb chunks BUFSIZ=0x80000 # Copy in 0.5Mb chunks
# #
# Not guaranteed to be correct or stay correct (Apple doesn't tell you # Not guaranteed to be correct or stay correct (Apple doesn't tell you
@ -64,8 +70,8 @@ def copy(src, dst, createpath=0):
ifp.close() ifp.close()
ofp.close() ofp.close()
ifp = open(srcfss.as_pathname(), '*rb') ifp = openrf(srcfss.as_pathname(), '*rb')
ofp = open(dstfss.as_pathname(), '*wb') ofp = openrf(dstfss.as_pathname(), '*wb')
d = ifp.read(BUFSIZ) d = ifp.read(BUFSIZ)
while d: while d:
ofp.write(d) ofp.write(d)