More cases of neading to clean during execution

This commit is contained in:
Reid 'arrdem' McKenzie 2022-07-28 19:25:30 -06:00
parent 20f3f01b6a
commit 0514e4ebb2

View file

@ -32,11 +32,14 @@ class Vfs(object):
if dest.is_symlink() and dest.readlink() == src: if dest.is_symlink() and dest.readlink() == src:
continue continue
else: else:
_log.warn(f"Replacing {dest}")
dest.unlink() dest.unlink()
elif dest.is_dir():
_log.warn(f"Replacing {dest}")
rmtree(dest)
assert not dest.exists() assert not dest.exists(), f"{dest} should not exist"
dest.symlink_to(src) dest.symlink_to(src)
assert dest.exists()
elif e[0] == "copy": elif e[0] == "copy":
raise NotImplementedError() raise NotImplementedError()
@ -47,6 +50,11 @@ class Vfs(object):
elif e[0] == "mkdir": elif e[0] == "mkdir":
_, dest = e _, dest = e
if dest.is_dir():
continue
elif dest.exists() or dest.is_symlink():
dest.unlink()
dest.mkdir(exist_ok=True) dest.mkdir(exist_ok=True)
elif e[0] == "unlink": elif e[0] == "unlink":