home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyo (Python 2.2)
-
- import os
- import sys
- import stat
- __all__ = [
- 'copyfileobj',
- 'copyfile',
- 'copymode',
- 'copystat',
- 'copy',
- 'copy2',
- 'copytree',
- 'rmtree']
-
- def copyfileobj(fsrc, fdst, length = 16 * 1024):
- while 1:
- buf = fsrc.read(length)
- if not buf:
- break
-
- fdst.write(buf)
-
-
- def copyfile(src, dst):
- fsrc = None
- fdst = None
-
- try:
- fsrc = open(src, 'rb')
- fdst = open(dst, 'wb')
- copyfileobj(fsrc, fdst)
- finally:
- if fdst:
- fdst.close()
-
- if fsrc:
- fsrc.close()
-
-
-
-
- def copymode(src, dst):
- if hasattr(os, 'chmod'):
- st = os.stat(src)
- mode = stat.S_IMODE(st[stat.ST_MODE])
- os.chmod(dst, mode)
-
-
-
- def copystat(src, dst):
- st = os.stat(src)
- mode = stat.S_IMODE(st[stat.ST_MODE])
- if hasattr(os, 'utime'):
- os.utime(dst, (st[stat.ST_ATIME], st[stat.ST_MTIME]))
-
- if hasattr(os, 'chmod'):
- os.chmod(dst, mode)
-
-
-
- def copy(src, dst):
- if os.path.isdir(dst):
- dst = os.path.join(dst, os.path.basename(src))
-
- copyfile(src, dst)
- copymode(src, dst)
-
-
- def copy2(src, dst):
- if os.path.isdir(dst):
- dst = os.path.join(dst, os.path.basename(src))
-
- copyfile(src, dst)
- copystat(src, dst)
-
-
- def copytree(src, dst, symlinks = 0):
- names = os.listdir(src)
- os.mkdir(dst)
- for name in names:
- srcname = os.path.join(src, name)
- dstname = os.path.join(dst, name)
-
- try:
- if symlinks and os.path.islink(srcname):
- linkto = os.readlink(srcname)
- os.symlink(linkto, dstname)
- elif os.path.isdir(srcname):
- copytree(srcname, dstname, symlinks)
- else:
- copy2(srcname, dstname)
- except (IOError, os.error):
- why = None
- print "Can't copy %s to %s: %s" % (`srcname`, `dstname`, str(why))
-
-
-
-
- def rmtree(path, ignore_errors = 0, onerror = None):
- cmdtuples = []
- _build_cmdtuple(path, cmdtuples)
- for cmd in cmdtuples:
-
- try:
- apply(cmd[0], (cmd[1],))
- except:
- exc = sys.exc_info()
- if ignore_errors:
- pass
- elif onerror:
- onerror(cmd[0], cmd[1], exc)
- else:
- raise exc[0], (exc[1][0], exc[1][1] + ' removing ' + cmd[1])
-
-
-
-
- def _build_cmdtuple(path, cmdtuples):
- for f in os.listdir(path):
- real_f = os.path.join(path, f)
- if os.path.isdir(real_f) and not os.path.islink(real_f):
- _build_cmdtuple(real_f, cmdtuples)
- else:
- cmdtuples.append((os.remove, real_f))
-
- cmdtuples.append((os.rmdir, path))
-
-