summaryrefslogtreecommitdiffstats
path: root/Lib/shutil.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/shutil.py')
-rw-r--r--Lib/shutil.py98
1 files changed, 49 insertions, 49 deletions
diff --git a/Lib/shutil.py b/Lib/shutil.py
index 21dce5e..34a38c4 100644
--- a/Lib/shutil.py
+++ b/Lib/shutil.py
@@ -10,75 +10,75 @@ MODEBITS = 010000 # Lower 12 mode bits
# Copy data from src to dst
#
def copyfile(src, dst):
- fsrc = None
- fdst = None
- try:
- fsrc = open(src, 'rb')
- fdst = open(dst, 'wb')
- while 1:
- buf = fsrc.read(16*1024)
- if not buf:
- break
- fdst.write(buf)
- finally:
- if fdst:
- fdst.close()
- if fsrc:
- fsrc.close()
+ fsrc = None
+ fdst = None
+ try:
+ fsrc = open(src, 'rb')
+ fdst = open(dst, 'wb')
+ while 1:
+ buf = fsrc.read(16*1024)
+ if not buf:
+ break
+ fdst.write(buf)
+ finally:
+ if fdst:
+ fdst.close()
+ if fsrc:
+ fsrc.close()
# Copy mode bits from src to dst
#
def copymode(src, dst):
- st = os.stat(src)
- mode = divmod(st[0], MODEBITS)[1]
- os.chmod(dst, mode)
+ st = os.stat(src)
+ mode = divmod(st[0], MODEBITS)[1]
+ os.chmod(dst, mode)
# Copy all stat info (mode bits, atime and mtime) from src to dst
#
def copystat(src, dst):
- st = os.stat(src)
- mode = divmod(st[0], MODEBITS)[1]
- os.chmod(dst, mode)
- os.utime(dst, st[7:9])
+ st = os.stat(src)
+ mode = divmod(st[0], MODEBITS)[1]
+ os.chmod(dst, mode)
+ os.utime(dst, st[7:9])
# Copy data and mode bits ("cp src dst").
# Support directory as target.
#
def copy(src, dst):
- if os.path.isdir(dst):
- dst = os.path.join(dst, os.path.basename(src))
- copyfile(src, dst)
- copymode(src, dst)
+ if os.path.isdir(dst):
+ dst = os.path.join(dst, os.path.basename(src))
+ copyfile(src, dst)
+ copymode(src, dst)
# Copy data and all stat info ("cp -p src dst").
# Support directory as target.
#
def copy2(src, dst):
- if os.path.isdir(dst):
- dst = os.path.join(dst, os.path.basename(src))
- copyfile(src, dst)
- copystat(src, dst)
+ if os.path.isdir(dst):
+ dst = os.path.join(dst, os.path.basename(src))
+ copyfile(src, dst)
+ copystat(src, dst)
# Recursively copy a directory tree.
# The destination must not already exist.
#
def copytree(src, dst):
- names = os.listdir(src)
- os.mkdir(dst, 0777)
- for name in names:
- srcname = os.path.join(src, name)
- dstname = os.path.join(dst, name)
- #print 'Copying', srcname, 'to', dstname
- try:
- #if os.path.islink(srcname):
- # linkto = os.readlink(srcname)
- # os.symlink(linkto, dstname)
- #elif os.path.isdir(srcname):
- if os.path.isdir(srcname):
- copytree(srcname, dstname)
- else:
- copy2(srcname, dstname)
- # XXX What about devices, sockets etc.?
- except os.error, why:
- print 'Could not copy', srcname, 'to', dstname,
- print '(', why[1], ')'
+ names = os.listdir(src)
+ os.mkdir(dst, 0777)
+ for name in names:
+ srcname = os.path.join(src, name)
+ dstname = os.path.join(dst, name)
+ #print 'Copying', srcname, 'to', dstname
+ try:
+ #if os.path.islink(srcname):
+ # linkto = os.readlink(srcname)
+ # os.symlink(linkto, dstname)
+ #elif os.path.isdir(srcname):
+ if os.path.isdir(srcname):
+ copytree(srcname, dstname)
+ else:
+ copy2(srcname, dstname)
+ # XXX What about devices, sockets etc.?
+ except os.error, why:
+ print 'Could not copy', srcname, 'to', dstname,
+ print '(', why[1], ')'