From 4f4f106c48502d81cc55c62b6261bed4100f6984 Mon Sep 17 00:00:00 2001 From: ed Date: Sun, 25 Sep 2022 14:24:01 +0200 Subject: [PATCH] add ability to forget uploads by deleting the files --- copyparty/up2k.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/copyparty/up2k.py b/copyparty/up2k.py index 548af2e2..4d672586 100644 --- a/copyparty/up2k.py +++ b/copyparty/up2k.py @@ -2975,8 +2975,18 @@ class Up2k(object): for x in reg.values() if x["need"] and now - x["poke"] > self.snap_discard_interval ] - if rm: - t = "dropping {} abandoned uploads in {}".format(len(rm), ptop) + + lost = [ + x + for x in reg.values() + if x["need"] + and not bos.path.exists(os.path.join(x["ptop"], x["prel"], x["name"])) + ] + + if rm or lost: + t = "dropping {} abandoned, {} deleted uploads in {}" + t = t.format(len(rm), len(lost), ptop) + rm.extend(lost) vis = [self._vis_job_progress(x) for x in rm] self.log("\n".join([t] + vis)) for job in rm: @@ -2986,7 +2996,10 @@ class Up2k(object): path = os.path.join(job["ptop"], job["prel"], job["name"]) if bos.path.getsize(path) == 0: bos.unlink(path) + except: + pass + try: if len(job["hash"]) == len(job["need"]): # PARTIAL is empty, delete that too path = os.path.join(job["ptop"], job["prel"], job["tnam"])