From c4337815db66b8f39903c1b8dd3e1e849ee61153 Mon Sep 17 00:00:00 2001 From: Will Woods Date: Thu, 26 May 2011 16:49:39 -0400 Subject: [PATCH] treebuilder: use os.rename() for move(), make symlink clobber files --- src/pylorax/treebuilder.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/pylorax/treebuilder.py b/src/pylorax/treebuilder.py index 8eb3b78f..72d83cdb 100644 --- a/src/pylorax/treebuilder.py +++ b/src/pylorax/treebuilder.py @@ -291,6 +291,8 @@ class TemplateRunner(object): os.link(self._out(src), self._out(dest)) def symlink(self, target, dest): + if _exists(self._out(dest)): + self.remove(dest) os.symlink(target, self._out(dest)) def copy(self, src, dest): @@ -299,16 +301,13 @@ class TemplateRunner(object): def copyif(self, src, dest): if _exists(self._out(src)): self.copy(src, dest) - return True def move(self, src, dest): - self.copy(src, dest) - self.remove(src) + os.rename(self._out(src), self._out(dest)) def moveif(self, src, dest): - if self.copyif(src, dest): - self.remove(src) - return True + if _exists(self._out(src)): + self.move(src, dest) def remove(self, *targets): for t in targets: