treebuilder: use os.rename() for move(), make symlink clobber files

This commit is contained in:
Will Woods 2011-05-26 16:49:39 -04:00
parent c1b3ed3c1f
commit c4337815db
1 changed files with 5 additions and 6 deletions

View File

@ -291,6 +291,8 @@ class TemplateRunner(object):
os.link(self._out(src), self._out(dest)) os.link(self._out(src), self._out(dest))
def symlink(self, target, dest): def symlink(self, target, dest):
if _exists(self._out(dest)):
self.remove(dest)
os.symlink(target, self._out(dest)) os.symlink(target, self._out(dest))
def copy(self, src, dest): def copy(self, src, dest):
@ -299,16 +301,13 @@ class TemplateRunner(object):
def copyif(self, src, dest): def copyif(self, src, dest):
if _exists(self._out(src)): if _exists(self._out(src)):
self.copy(src, dest) self.copy(src, dest)
return True
def move(self, src, dest): def move(self, src, dest):
self.copy(src, dest) os.rename(self._out(src), self._out(dest))
self.remove(src)
def moveif(self, src, dest): def moveif(self, src, dest):
if self.copyif(src, dest): if _exists(self._out(src)):
self.remove(src) self.move(src, dest)
return True
def remove(self, *targets): def remove(self, *targets):
for t in targets: for t in targets: