From ae3a01038b5e0eb65a9bda6a0c4703014733f739 Mon Sep 17 00:00:00 2001 From: ed Date: Fri, 6 Aug 2021 11:10:04 +0200 Subject: [PATCH] v0.12.12 --- copyparty/__version__.py | 2 +- copyparty/up2k.py | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/copyparty/__version__.py b/copyparty/__version__.py index ee57b11c..6c5f40ef 100644 --- a/copyparty/__version__.py +++ b/copyparty/__version__.py @@ -1,6 +1,6 @@ # coding: utf-8 -VERSION = (0, 12, 11) +VERSION = (0, 12, 12) CODENAME = "fil\033[33med" BUILD_DT = (2021, 8, 6) diff --git a/copyparty/up2k.py b/copyparty/up2k.py index 44caedbb..23b27a9c 100644 --- a/copyparty/up2k.py +++ b/copyparty/up2k.py @@ -1424,7 +1424,8 @@ class Up2k(object): st = bos.lstat(sabs) if stat.S_ISREG(st.st_mode) or stat.S_ISLNK(st.st_mode): - return self._mv_file(uname, svp, dvp) + with self.mutex: + return self._mv_file(uname, svp, dvp) jail = svn.get_dbv(srem)[0] permsets = [[True, False, True]] @@ -1449,7 +1450,8 @@ class Up2k(object): raise Pebkac(500, "mv: bug at {}, top {}".format(svpf, svp)) dvpf = dvp + svpf[len(svp) :] - self._mv_file(uname, svpf, dvpf) + with self.mutex: + self._mv_file(uname, svpf, dvpf) rmdirs(self.log_func, scandir, True, sabs) return "k" @@ -1541,13 +1543,15 @@ class Up2k(object): self.log("forgetting {}".format(vrem)) if wark: self.log("found {} in db".format(wark)) - if self._relink(wark, ptop, vrem, None): - drop_tags = False + if drop_tags: + if self._relink(wark, ptop, vrem, None): + drop_tags = False if drop_tags: q = "delete from mt where w=?" cur.execute(q, (wark[:16],)) - self.db_rm(cur, srd, sfn) + + self.db_rm(cur, srd, sfn) reg = self.registry.get(ptop) if reg: @@ -1599,7 +1603,7 @@ class Up2k(object): # deleting final remaining full copy; swap it with a symlink slabs = list(sorted(links.keys()))[0] ptop, rem = links.pop(slabs) - self.log("linkswap [{}] and [{}]".format(sabs, dabs)) + self.log("linkswap [{}] and [{}]".format(sabs, slabs)) bos.unlink(slabs) bos.rename(sabs, slabs) self._symlink(slabs, sabs, False)