mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
less jank ?ls
This commit is contained in:
parent
b2a560b76f
commit
2d2e8a3da7
|
@ -1179,12 +1179,14 @@ class HttpCli(object):
|
|||
if rem == ".hist":
|
||||
hidden = ["up2k."]
|
||||
|
||||
is_ls = "ls" in self.uparam
|
||||
|
||||
dirs = []
|
||||
files = []
|
||||
for fn in vfs_ls:
|
||||
base = ""
|
||||
href = fn
|
||||
if self.absolute_urls and vpath:
|
||||
if not is_ls and self.absolute_urls and vpath:
|
||||
base = "/" + vpath + "/"
|
||||
href = base + fn
|
||||
|
||||
|
@ -1221,30 +1223,20 @@ class HttpCli(object):
|
|||
except:
|
||||
ext = "%"
|
||||
|
||||
item = [margin, quotep(href), html_escape(fn), sz, ext, dt]
|
||||
item = {
|
||||
"lead": margin,
|
||||
"href": quotep(href),
|
||||
"name": fn,
|
||||
"sz": sz,
|
||||
"ext": ext,
|
||||
"dt": dt,
|
||||
"ts": inf.st_mtime,
|
||||
}
|
||||
if is_dir:
|
||||
dirs.append(item)
|
||||
else:
|
||||
files.append(item)
|
||||
|
||||
logues = [None, None]
|
||||
for n, fn in enumerate([".prologue.html", ".epilogue.html"]):
|
||||
fn = os.path.join(abspath, fn)
|
||||
if os.path.exists(fsenc(fn)):
|
||||
with open(fsenc(fn), "rb") as f:
|
||||
logues[n] = f.read().decode("utf-8")
|
||||
|
||||
if False:
|
||||
# this is a mistake
|
||||
md = None
|
||||
for fn in [x[2] for x in files]:
|
||||
if fn.lower() == "readme.md":
|
||||
fn = os.path.join(abspath, fn)
|
||||
with open(fn, "rb") as f:
|
||||
md = f.read().decode("utf-8")
|
||||
|
||||
break
|
||||
|
||||
srv_info = []
|
||||
|
||||
try:
|
||||
|
@ -1273,16 +1265,26 @@ class HttpCli(object):
|
|||
except:
|
||||
pass
|
||||
|
||||
srv_info = "</span> /// <span>".join(srv_info)
|
||||
|
||||
if is_ls:
|
||||
[x.pop("name") for y in [dirs, files] for x in y]
|
||||
ret = json.dumps({"dirs": dirs, "files": files, "srvinf": srv_info})
|
||||
self.reply(ret.encode("utf-8", "replace"))
|
||||
return True
|
||||
|
||||
logues = [None, None]
|
||||
for n, fn in enumerate([".prologue.html", ".epilogue.html"]):
|
||||
fn = os.path.join(abspath, fn)
|
||||
if os.path.exists(fsenc(fn)):
|
||||
with open(fsenc(fn), "rb") as f:
|
||||
logues[n] = f.read().decode("utf-8")
|
||||
|
||||
ts = ""
|
||||
# ts = "?{}".format(time.time())
|
||||
|
||||
dirs.extend(files)
|
||||
|
||||
if "ls" in self.uparam:
|
||||
ret = json.dumps(dirs)
|
||||
self.reply(ret.encode("utf-8", "replace"))
|
||||
return True
|
||||
|
||||
html = self.conn.tpl_browser.render(
|
||||
vdir=quotep(self.vpath),
|
||||
vpnodes=vpnodes,
|
||||
|
@ -1294,7 +1296,7 @@ class HttpCli(object):
|
|||
prologue=logues[0],
|
||||
epilogue=logues[1],
|
||||
title=html_escape(self.vpath),
|
||||
srv_info="</span> /// <span>".join(srv_info),
|
||||
srv_info=srv_info,
|
||||
)
|
||||
self.reply(html.encode("utf-8", "replace"))
|
||||
return True
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
<tbody>
|
||||
|
||||
{%- for f in files %}
|
||||
<tr><td>{{ f[0] }}</td><td><a href="{{ f[1] }}">{{ f[2] }}</a></td><td>{{ f[3] }}</td><td>{{ f[4] }}</td><td>{{ f[5] }}</td></tr>
|
||||
<tr><td>{{ f.lead }}</td><td><a href="{{ f.href }}">{{ f.name|e }}</a></td><td>{{ f.sz }}</td><td>{{ f.ext }}</td><td>{{ f.dt }}</td></tr>
|
||||
{%- endfor %}
|
||||
|
||||
</tbody>
|
||||
|
|
|
@ -834,16 +834,18 @@ function autoplay_blocked() {
|
|||
window.location = this.top;
|
||||
return;
|
||||
}
|
||||
|
||||
ebi('srv_info').innerHTML = res.srvinf;
|
||||
var nodes = res.dirs.concat(res.files);
|
||||
var top = this.top;
|
||||
var html = [];
|
||||
for (var a = 0; a < res.length; a++) {
|
||||
var ln = '<tr><td>' + res[a][0] + '</td><td><a href="' +
|
||||
top + res[a][1] + '">' + res[a][2] + '</a></td>';
|
||||
for (var a = 0; a < nodes.length; a++) {
|
||||
var r = nodes[a],
|
||||
ln = '<tr><td>' + r.lead + '</td><td><a href="' +
|
||||
top + r.href + '">' + esc(decodeURIComponent(r.href)) + '</a>';
|
||||
|
||||
for (var b = 3; b < res[a].length; b++) {
|
||||
ln += '<td>' + res[a][b] + '</td>';
|
||||
}
|
||||
html.push(ln + '</tr>')
|
||||
ln = [ln, r.sz, r.ext, r.dt].join('</td><td>');
|
||||
html.push(ln + '</td></tr>');
|
||||
}
|
||||
html = html.join('\n');
|
||||
ebi('files').tBodies[0].innerHTML = html;
|
||||
|
|
|
@ -382,7 +382,7 @@ function up2k_init(have_crypto) {
|
|||
|
||||
var tr = document.createElement('tr');
|
||||
tr.innerHTML = '<td id="f{0}n"></td><td id="f{0}t">hashing</td><td id="f{0}p" class="prog"></td>'.format(st.files.length);
|
||||
tr.getElementsByTagName('td')[0].innerHTML = linksplit(esc(entry.purl + entry.name)).join(' ');
|
||||
tr.getElementsByTagName('td')[0].innerHTML = fsearch ? entry.name : linksplit(esc(entry.purl + entry.name)).join(' ');
|
||||
ebi('u2tab').appendChild(tr);
|
||||
|
||||
st.files.push(entry);
|
||||
|
|
Loading…
Reference in a new issue