Deal with the node being a bad link

This commit is contained in:
Reid 'arrdem' McKenzie 2022-07-28 18:13:58 -06:00
parent b2929290c0
commit cff7c8d5e7

View file

@ -51,12 +51,16 @@ class Vfs(object):
elif e[0] == "unlink": elif e[0] == "unlink":
_, dest = e _, dest = e
if dest.is_symlink(): # Note that a path which is a dangling symlink will NOT exist but WILL be a symlink
if not dest.exists() and not dest.is_symlink():
return
# Files and dirs just unlink
if dest.is_symlink() or dest.is_file():
dest.unlink() dest.unlink()
# Dirs require recursion
elif dest.is_dir(): elif dest.is_dir():
rmtree(dest) rmtree(dest)
elif dest.is_file(): # Don't succeed silently
dest.unlink()
else: else:
raise Exception(f"Couldn't unlink {dest}") raise Exception(f"Couldn't unlink {dest}")