mirror of
https://github.com/9001/copyparty.git
synced 2025-08-18 01:22:13 -06:00
also undupe search hits from overlapping volumes
This commit is contained in:
parent
5e7c3defe3
commit
6a05850f21
|
@ -293,6 +293,7 @@ class U2idx(object):
|
||||||
self.log("qs: {!r} {!r}".format(uq, uv))
|
self.log("qs: {!r} {!r}".format(uq, uv))
|
||||||
|
|
||||||
ret = []
|
ret = []
|
||||||
|
seen_rps: set[str] = set()
|
||||||
lim = min(lim, int(self.args.srch_hits))
|
lim = min(lim, int(self.args.srch_hits))
|
||||||
taglist = {}
|
taglist = {}
|
||||||
for (vtop, ptop, flags) in vols:
|
for (vtop, ptop, flags) in vols:
|
||||||
|
@ -326,6 +327,9 @@ class U2idx(object):
|
||||||
if not dots and "/." in ("/" + rp):
|
if not dots and "/." in ("/" + rp):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
if rp in seen_rps:
|
||||||
|
continue
|
||||||
|
|
||||||
if not fk:
|
if not fk:
|
||||||
suf = ""
|
suf = ""
|
||||||
else:
|
else:
|
||||||
|
@ -342,6 +346,7 @@ class U2idx(object):
|
||||||
)[:fk]
|
)[:fk]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
seen_rps.add(rp)
|
||||||
sret.append({"ts": int(ts), "sz": sz, "rp": rp + suf, "w": w[:16]})
|
sret.append({"ts": int(ts), "sz": sz, "rp": rp + suf, "w": w[:16]})
|
||||||
|
|
||||||
for hit in sret:
|
for hit in sret:
|
||||||
|
@ -361,14 +366,6 @@ class U2idx(object):
|
||||||
done_flag.append(True)
|
done_flag.append(True)
|
||||||
self.active_id = ""
|
self.active_id = ""
|
||||||
|
|
||||||
# undupe hits from multiple metadata keys
|
|
||||||
if len(ret) > 1:
|
|
||||||
ret = [ret[0]] + [
|
|
||||||
y
|
|
||||||
for x, y in zip(ret[:-1], ret[1:])
|
|
||||||
if x["rp"].split("?")[0] != y["rp"].split("?")[0]
|
|
||||||
]
|
|
||||||
|
|
||||||
ret.sort(key=itemgetter("rp"))
|
ret.sort(key=itemgetter("rp"))
|
||||||
|
|
||||||
return ret, list(taglist.keys())
|
return ret, list(taglist.keys())
|
||||||
|
|
Loading…
Reference in a new issue