Exemplo n.º 1
0
 def _real_rmrf(fpath, safemode):
     """
     real rmrf
     """
     if safemode:
         if os.path.normpath(os.path.abspath(fpath)) == '/':
             raise err.ShellException('cannot rmtree root / under safemode')
     if os.path.isfile(fpath):
         os.unlink(fpath)
     else:
         shutil.rmtree(fpath)
Exemplo n.º 2
0
def rmtree(path, ignore_errors=False, onerror=None, safemode=True):
    """
    safe rmtree.

    safemode, by default is True, which forbids:

    1. not allowing rmtree root "/"

    """
    if safemode:
        if os.path.normpath(os.path.abspath(path)) == '/':
            raise err.ShellException('cannot rmtree root / under safemode')
    if os.path.isfile(path):
        return os.unlink(path)
    else:
        return shutil.rmtree(path, ignore_errors, onerror)