mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 17:12:13 -06:00
abandon listing tags in browser when db busy
This commit is contained in:
parent
357347ce3a
commit
2fcd0e7e72
|
@ -1765,36 +1765,44 @@ class HttpCli(object):
|
||||||
fn = f["name"]
|
fn = f["name"]
|
||||||
rd = f["rd"]
|
rd = f["rd"]
|
||||||
del f["rd"]
|
del f["rd"]
|
||||||
if icur:
|
if not icur:
|
||||||
if vn != dbv:
|
break
|
||||||
_, rd = vn.get_dbv(rd)
|
|
||||||
|
if vn != dbv:
|
||||||
|
_, rd = vn.get_dbv(rd)
|
||||||
|
|
||||||
|
q = "select w from up where rd = ? and fn = ?"
|
||||||
|
r = None
|
||||||
|
try:
|
||||||
|
r = icur.execute(q, (rd, fn)).fetchone()
|
||||||
|
except Exception as ex:
|
||||||
|
if "database is locked" in str(ex):
|
||||||
|
break
|
||||||
|
|
||||||
q = "select w from up where rd = ? and fn = ?"
|
|
||||||
r = None
|
|
||||||
try:
|
try:
|
||||||
r = icur.execute(q, (rd, fn)).fetchone()
|
args = s3enc(idx.mem_cur, rd, fn)
|
||||||
except Exception as ex:
|
r = icur.execute(q, args).fetchone()
|
||||||
if "database is locked" not in str(ex):
|
|
||||||
try:
|
|
||||||
args = s3enc(idx.mem_cur, rd, fn)
|
|
||||||
r = icur.execute(q, args).fetchone()
|
|
||||||
except:
|
|
||||||
self.log("tag list error:\n" + min_ex())
|
|
||||||
|
|
||||||
tags = {}
|
|
||||||
f["tags"] = tags
|
|
||||||
|
|
||||||
if not r:
|
|
||||||
continue
|
|
||||||
|
|
||||||
w = r[0][:16]
|
|
||||||
q = "select k, v from mt where w = ? and k != 'x'"
|
|
||||||
try:
|
|
||||||
for k, v in icur.execute(q, (w,)):
|
|
||||||
taglist[k] = True
|
|
||||||
tags[k] = v
|
|
||||||
except:
|
except:
|
||||||
self.log("tag read error:\n" + min_ex())
|
m = "tag list error, {}/{}\n{}"
|
||||||
|
self.log(m.format(rd, fn, min_ex()))
|
||||||
|
break
|
||||||
|
|
||||||
|
tags = {}
|
||||||
|
f["tags"] = tags
|
||||||
|
|
||||||
|
if not r:
|
||||||
|
continue
|
||||||
|
|
||||||
|
w = r[0][:16]
|
||||||
|
q = "select k, v from mt where w = ? and k != 'x'"
|
||||||
|
try:
|
||||||
|
for k, v in icur.execute(q, (w,)):
|
||||||
|
taglist[k] = True
|
||||||
|
tags[k] = v
|
||||||
|
except:
|
||||||
|
m = "tag read error, {}/{} [{}]:\n{}"
|
||||||
|
self.log(m.format(rd, fn, w, min_ex()))
|
||||||
|
break
|
||||||
|
|
||||||
if icur:
|
if icur:
|
||||||
taglist = [k for k in vn.flags.get("mte", "").split(",") if k in taglist]
|
taglist = [k for k in vn.flags.get("mte", "").split(",") if k in taglist]
|
||||||
|
|
Loading…
Reference in a new issue