mirror of https://github.com/flaggo/pydu.git
modify file.makedirs logical
This commit is contained in:
parent
ffafe04d70
commit
3dcc82f416
|
@ -5,12 +5,12 @@ import shutil
|
||||||
|
|
||||||
# todo tests and docs
|
# todo tests and docs
|
||||||
def makedirs(path, mode=0o755, ignore_errors=False, exist_ok=True):
|
def makedirs(path, mode=0o755, ignore_errors=False, exist_ok=True):
|
||||||
|
if exist_ok and os.path.exists(path):
|
||||||
|
return
|
||||||
try:
|
try:
|
||||||
os.makedirs(path, mode)
|
os.makedirs(path, mode)
|
||||||
except Exception:
|
except Exception:
|
||||||
if not ignore_errors:
|
if not ignore_errors:
|
||||||
if not exist_ok:
|
|
||||||
raise OSError('{} is exist'.format(path))
|
|
||||||
raise OSError('Create dir: {} error.')
|
raise OSError('Create dir: {} error.')
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,17 +4,20 @@ import pytest
|
||||||
|
|
||||||
|
|
||||||
class Testmakedirs():
|
class Testmakedirs():
|
||||||
def test_makedirs(self,tmpdir):
|
def test_makedirs(self, tmpdir):
|
||||||
path = str(tmpdir.join('test'))
|
path = str(tmpdir.join('test'))
|
||||||
makedirs(path)
|
makedirs(path)
|
||||||
assert os.path.exists(path)
|
assert os.path.exists(path)
|
||||||
|
|
||||||
def test_makedirs_with_exists_path(self,tmpdir):
|
def test_makedirs_with_exists_path(self, tmpdir):
|
||||||
path = str(tmpdir.join('test'))
|
path = str(tmpdir.join('test'))
|
||||||
makedirs(path)
|
makedirs(path)
|
||||||
with pytest.raises(Exception) as e_info:
|
|
||||||
makedirs(path, exist_ok=True)
|
makedirs(path, exist_ok=True)
|
||||||
|
|
||||||
|
with pytest.raises(Exception):
|
||||||
|
makedirs(path, exist_ok=False)
|
||||||
|
|
||||||
def test_makedirs_with_ignore_error(self, tmpdir):
|
def test_makedirs_with_ignore_error(self, tmpdir):
|
||||||
path = str(tmpdir.join('test'))
|
path = str(tmpdir.join('test'))
|
||||||
makedirs(path)
|
makedirs(path)
|
||||||
|
@ -23,8 +26,8 @@ class Testmakedirs():
|
||||||
def test_makedirs_without_ignore_error(self, tmpdir):
|
def test_makedirs_without_ignore_error(self, tmpdir):
|
||||||
path = str(tmpdir.join('test'))
|
path = str(tmpdir.join('test'))
|
||||||
makedirs(path)
|
makedirs(path)
|
||||||
with pytest.raises(Exception) as e_info:
|
with pytest.raises(Exception):
|
||||||
makedirs(path, ignore_errors=False)
|
makedirs(path, ignore_errors=False, exist_ok=False)
|
||||||
|
|
||||||
def test_makedirs_with_mutl_dirs(self, tmpdir):
|
def test_makedirs_with_mutl_dirs(self, tmpdir):
|
||||||
path = str(tmpdir.join('test/test'))
|
path = str(tmpdir.join('test/test'))
|
||||||
|
|
Loading…
Reference in New Issue