mirror of
https://github.com/9001/copyparty.git
synced 2025-08-18 01:22:13 -06:00
better path/name search syntax
This commit is contained in:
parent
6774bd88f9
commit
cd02bfea7a
|
@ -50,17 +50,15 @@ class U2idx(object):
|
||||||
_conv_dt(qobj, body, "dt_min", "mt >= ?")
|
_conv_dt(qobj, body, "dt_min", "mt >= ?")
|
||||||
_conv_dt(qobj, body, "dt_max", "mt <= ?")
|
_conv_dt(qobj, body, "dt_max", "mt <= ?")
|
||||||
for seg, dk in [["path", "rd"], ["name", "fn"]]:
|
for seg, dk in [["path", "rd"], ["name", "fn"]]:
|
||||||
for inv in ["no", "yes"]:
|
if seg in body:
|
||||||
jk = "{}_{}".format(seg, inv)
|
_conv_txt(qobj, body, seg, dk)
|
||||||
if jk in body:
|
|
||||||
_conv_txt(qobj, body, jk, dk)
|
|
||||||
|
|
||||||
qstr = "select * from up"
|
qstr = "select * from up"
|
||||||
qv = []
|
qv = []
|
||||||
if qobj:
|
if qobj:
|
||||||
qk = []
|
qk = []
|
||||||
for k, v in sorted(qobj.items()):
|
for k, v in sorted(qobj.items()):
|
||||||
qk.append(k)
|
qk.append(k.split("\n")[0])
|
||||||
qv.append(v)
|
qv.append(v)
|
||||||
|
|
||||||
qstr = " and ".join(qk)
|
qstr = " and ".join(qk)
|
||||||
|
@ -70,8 +68,7 @@ class U2idx(object):
|
||||||
|
|
||||||
def run_query(self, vols, qstr, qv):
|
def run_query(self, vols, qstr, qv):
|
||||||
qv = tuple(qv)
|
qv = tuple(qv)
|
||||||
# self.log("qs: " + qstr)
|
self.log("qs: {} {}".format(qstr, repr(qv)))
|
||||||
# self.log("qv: " + repr(qv))
|
|
||||||
|
|
||||||
ret = []
|
ret = []
|
||||||
lim = 100
|
lim = 100
|
||||||
|
@ -128,8 +125,11 @@ def _conv_dt(q, body, k, sql):
|
||||||
|
|
||||||
|
|
||||||
def _conv_txt(q, body, k, sql):
|
def _conv_txt(q, body, k, sql):
|
||||||
v = body[k]
|
for v in body[k].split(" "):
|
||||||
print("[" + v + "]")
|
inv = ""
|
||||||
|
if v.startswith("-"):
|
||||||
|
inv = "not"
|
||||||
|
v = v[1:]
|
||||||
|
|
||||||
head = "'%'||"
|
head = "'%'||"
|
||||||
if v.startswith("^"):
|
if v.startswith("^"):
|
||||||
|
@ -141,6 +141,5 @@ def _conv_txt(q, body, k, sql):
|
||||||
tail = ""
|
tail = ""
|
||||||
v = v[:-1]
|
v = v[:-1]
|
||||||
|
|
||||||
inv = "not" if k.endswith("_no") else ""
|
|
||||||
qk = "{} {} like {}?{}".format(sql, inv, head, tail)
|
qk = "{} {} like {}?{}".format(sql, inv, head, tail)
|
||||||
q[qk] = u8safe(v)
|
q[qk + "\n" + v] = u8safe(v)
|
||||||
|
|
|
@ -585,12 +585,10 @@ function autoplay_blocked() {
|
||||||
["dtu", "dt_max", "max. iso8601", ""]
|
["dtu", "dt_max", "max. iso8601", ""]
|
||||||
],
|
],
|
||||||
["path",
|
["path",
|
||||||
["pn", "path_no", "path NOT contains", "30"],
|
["path", "path", "path contains", "46"]
|
||||||
["py", "path_yes", "path contains", "30"]
|
|
||||||
],
|
],
|
||||||
["name",
|
["name",
|
||||||
["nn", "name_no", "name NOT contains", "30"],
|
["name", "name", "name contains", "46"]
|
||||||
["ny", "name_yes", "name contains", "30"]
|
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
var html = [];
|
var html = [];
|
||||||
|
@ -599,11 +597,14 @@ function autoplay_blocked() {
|
||||||
html.push('<tr><td><br />' + sconf[a][0] + '</td>');
|
html.push('<tr><td><br />' + sconf[a][0] + '</td>');
|
||||||
for (var b = 1; b < 3; b++) {
|
for (var b = 1; b < 3; b++) {
|
||||||
var hn = "srch_" + sconf[a][b][0];
|
var hn = "srch_" + sconf[a][b][0];
|
||||||
|
var csp = (sconf[a].length == 2) ? 2 : 1;
|
||||||
html.push(
|
html.push(
|
||||||
'<td><input id="' + hn + 'c" type="checkbox">\n' +
|
'<td colspan="' + csp + '"><input id="' + hn + 'c" type="checkbox">\n' +
|
||||||
'<label for="' + hn + 'c">' + sconf[a][b][2] + '</label>\n' +
|
'<label for="' + hn + 'c">' + sconf[a][b][2] + '</label>\n' +
|
||||||
'<br /><input id="' + hn + 'v" type="text" size="' + sconf[a][b][3] +
|
'<br /><input id="' + hn + 'v" type="text" size="' + sconf[a][b][3] +
|
||||||
'" name="' + sconf[a][b][1] + '" /></td>');
|
'" name="' + sconf[a][b][1] + '" /></td>');
|
||||||
|
if (csp == 2)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
html.push('</tr>');
|
html.push('</tr>');
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue