ranger.ext.shutil_generatorized
index
/home/hut/ranger/ranger/ext/shutil_generatorized.py

Utility functions for copying files and directory trees.
 
XXX The functions here don't copy the resource fork or other metadata on Mac.

 
Modules
       
os
stat
sys

 
Classes
       
exceptions.EnvironmentError(exceptions.StandardError)
Error
SpecialFileError

 
class Error(exceptions.EnvironmentError)
    
Method resolution order:
Error
exceptions.EnvironmentError
exceptions.StandardError
exceptions.Exception
exceptions.BaseException
__builtin__.object

Data descriptors defined here:
__weakref__
list of weak references to the object (if defined)

Methods inherited from exceptions.EnvironmentError:
__init__(...)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
__reduce__(...)
__str__(...)
x.__str__() <==> str(x)

Data descriptors inherited from exceptions.EnvironmentError:
errno
exception errno
filename
exception filename
strerror
exception strerror

Data and other attributes inherited from exceptions.EnvironmentError:
__new__ = <built-in method __new__ of type object>
T.__new__(S, ...) -> a new object with type S, a subtype of T

Methods inherited from exceptions.BaseException:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__repr__(...)
x.__repr__() <==> repr(x)
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value
__setstate__(...)
__unicode__(...)

Data descriptors inherited from exceptions.BaseException:
__dict__
args
message

 
class SpecialFileError(exceptions.EnvironmentError)
    Raised when trying to do a kind of operation (e.g. copying) which is
not supported on a special file (e.g. a named pipe)
 
 
Method resolution order:
SpecialFileError
exceptions.EnvironmentError
exceptions.StandardError
exceptions.Exception
exceptions.BaseException
__builtin__.object

Data descriptors defined here:
__weakref__
list of weak references to the object (if defined)

Methods inherited from exceptions.EnvironmentError:
__init__(...)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
__reduce__(...)
__str__(...)
x.__str__() <==> str(x)

Data descriptors inherited from exceptions.EnvironmentError:
errno
exception errno
filename
exception filename
strerror
exception strerror

Data and other attributes inherited from exceptions.EnvironmentError:
__new__ = <built-in method __new__ of type object>
T.__new__(S, ...) -> a new object with type S, a subtype of T

Methods inherited from exceptions.BaseException:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__repr__(...)
x.__repr__() <==> repr(x)
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value
__setstate__(...)
__unicode__(...)

Data descriptors inherited from exceptions.BaseException:
__dict__
args
message

 
Functions
       
copy2(src, dst, overwrite=False, symlinks=False)
Copy data and all stat info ("cp -p src dst").
 
The destination may be a directory.
copyfile(src, dst)
Copy data from src to dst
copyfileobj(fsrc, fdst, length=16384)
copy data from file-like object fsrc to file-like object fdst
copystat(src, dst)
Copy all stat info (mode bits, atime, mtime, flags) from src to dst
copytree(src, dst, symlinks=False, ignore=None, overwrite=False)
Recursively copy a directory tree using copy2().
 
The destination directory must not already exist.
If exception(s) occur, an Error is raised with a list of reasons.
 
If the optional symlinks flag is true, symbolic links in the
source tree result in symbolic links in the destination tree; if
it is false, the contents of the files pointed to by symbolic
links are copied.
 
The optional ignore argument is a callable. If given, it
is called with the `src` parameter, which is the directory
being visited by copytree(), and `names` which is the list of
`src` contents, as returned by os.listdir():
 
    callable(src, names) -> ignored_names
 
Since copytree() is called recursively, the callable will be
called once for each directory that is copied. It returns a
list of names relative to the `src` directory that should
not be copied.
 
XXX Consider this example code rather than the ultimate tool.
move(src, dst, overwrite=False)
Recursively move a file or directory to another location. This is
similar to the Unix "mv" command.
 
If the destination is a directory or a symlink to a directory, the source
is moved inside the directory. The destination path must not already
exist.
 
If the destination already exists but is not a directory, it may be
overwritten depending on os.rename() semantics.
 
If the destination is on our current filesystem, then rename() is used.
Otherwise, src is copied to the destination and then removed.
A lot more could be done here...  A look at a mv.c shows a lot of
the issues this implementation glosses over.
rmtree(path, ignore_errors=False, onerror=None)
Recursively delete a directory tree.
 
If ignore_errors is set, errors are ignored; otherwise, if onerror
is set, it is called to handle the error with arguments (func,
path, exc_info) where func is os.listdir, os.remove, or os.rmdir;
path is the argument to that function that caused it to fail; and
exc_info is a tuple returned by sys.exc_info().  If ignore_errors
is false and onerror is None, an exception is raised.

 
Data
        __all__ = ['copyfileobj', 'copyfile', 'copystat', 'copy2', 'copytree', 'move', 'rmtree', 'Error', 'SpecialFileError']