mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
up2k non-e2d fixes:
* respect noforget when loading snaps * ...but actually forget deleted files otherwise * insert empty need/hash as necessary
This commit is contained in:
parent
414de88925
commit
705f598b1a
|
@ -1016,6 +1016,7 @@ class Up2k(object):
|
||||||
vpath = k
|
vpath = k
|
||||||
|
|
||||||
_, flags = self._expr_idx_filter(flags)
|
_, flags = self._expr_idx_filter(flags)
|
||||||
|
n4g = bool(flags.get("noforget"))
|
||||||
|
|
||||||
ft = "\033[0;32m{}{:.0}"
|
ft = "\033[0;32m{}{:.0}"
|
||||||
ff = "\033[0;35m{}{:.0}"
|
ff = "\033[0;35m{}{:.0}"
|
||||||
|
@ -1073,21 +1074,35 @@ class Up2k(object):
|
||||||
for job in reg2.values():
|
for job in reg2.values():
|
||||||
job["dwrk"] = job["wark"]
|
job["dwrk"] = job["wark"]
|
||||||
|
|
||||||
|
rm = []
|
||||||
for k, job in reg2.items():
|
for k, job in reg2.items():
|
||||||
job["ptop"] = ptop
|
job["ptop"] = ptop
|
||||||
|
if "done" in job:
|
||||||
|
job["need"] = job["hash"] = emptylist
|
||||||
|
else:
|
||||||
|
if "need" not in job:
|
||||||
|
job["need"] = []
|
||||||
|
if "hash" not in job:
|
||||||
|
job["hash"] = []
|
||||||
|
|
||||||
fp = djoin(ptop, job["prel"], job["name"])
|
fp = djoin(ptop, job["prel"], job["name"])
|
||||||
if bos.path.exists(fp):
|
if bos.path.exists(fp):
|
||||||
reg[k] = job
|
reg[k] = job
|
||||||
if "done" in job:
|
if "done" in job:
|
||||||
job["need"] = job["hash"] = emptylist
|
|
||||||
continue
|
continue
|
||||||
job["poke"] = time.time()
|
job["poke"] = time.time()
|
||||||
job["busy"] = {}
|
job["busy"] = {}
|
||||||
else:
|
else:
|
||||||
self.log("ign deleted file in snap: [{}]".format(fp))
|
self.log("ign deleted file in snap: [{}]".format(fp))
|
||||||
|
if not n4g:
|
||||||
|
rm.append(k)
|
||||||
|
continue
|
||||||
|
|
||||||
|
for x in rm:
|
||||||
|
del reg2[x]
|
||||||
|
|
||||||
if drp is None:
|
if drp is None:
|
||||||
drp = [k for k, v in reg.items() if not v.get("need", [])]
|
drp = [k for k, v in reg.items() if not v["need"]]
|
||||||
else:
|
else:
|
||||||
drp = [x for x in drp if x in reg]
|
drp = [x for x in drp if x in reg]
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue