def clean(self, **kwargs): for entry in self._to_remove(): if isinstance(entry, DirList): if self._verbose: echo_warn('delete folders: {0}'.format(pformat( entry.dirs))) delete_dirs(entry) elif isinstance(entry, Dir): if self._verbose: echo_warn('delete folder contents: {0}'.format(entry.path)) delete_dir_content(entry)
def test_delete_dir_content(): tmp_dir = tempfile.mkdtemp() start_len = len(os.listdir(tmp_dir)) with tempfile.NamedTemporaryFile(dir=tmp_dir) as a_file: with tempfile.NamedTemporaryFile(dir=tmp_dir) as b_file: assert len(os.listdir(tmp_dir)) == start_len + 2 delete_dir_content(Dir(tmp_dir)) assert len(os.listdir(tmp_dir)) == 0 with pytest.raises(AssertionError): delete_dir_content(tmp_dir)