From 5148c4f2e95ca44d0c3cb0a7ef897ca5db6b4509 Mon Sep 17 00:00:00 2001 From: ed Date: Mon, 22 Feb 2021 21:09:57 +0100 Subject: [PATCH] include pro/epilogues in ?ls --- copyparty/httpcli.py | 23 ++++++++++++++--------- copyparty/web/browser.html | 8 ++------ copyparty/web/browser.js | 27 ++++++--------------------- 3 files changed, 22 insertions(+), 36 deletions(-) diff --git a/copyparty/httpcli.py b/copyparty/httpcli.py index 8d8ec9bc..38f3d85c 100644 --- a/copyparty/httpcli.py +++ b/copyparty/httpcli.py @@ -1275,13 +1275,6 @@ class HttpCli(object): if self.writable: perms.append("write") - if is_ls: - [x.pop(k) for k in ["name", "dt"] for y in [dirs, files] for x in y] - ret = {"dirs": dirs, "files": files, "srvinf": srv_info, "perms": perms} - ret = json.dumps(ret) - self.reply(ret.encode("utf-8", "replace"), mime="application/json") - return True - logues = [None, None] for n, fn in enumerate([".prologue.html", ".epilogue.html"]): fn = os.path.join(abspath, fn) @@ -1289,6 +1282,19 @@ class HttpCli(object): with open(fsenc(fn), "rb") as f: logues[n] = f.read().decode("utf-8") + if is_ls: + [x.pop(k) for k in ["name", "dt"] for y in [dirs, files] for x in y] + ret = { + "dirs": dirs, + "files": files, + "srvinf": srv_info, + "perms": perms, + "logues": logues, + } + ret = json.dumps(ret) + self.reply(ret.encode("utf-8", "replace"), mime="application/json") + return True + ts = "" # ts = "?{}".format(time.time()) @@ -1301,8 +1307,7 @@ class HttpCli(object): ts=ts, perms=json.dumps(perms), have_up2k_idx=self.args.e2d, - prologue=logues[0], - epilogue=logues[1], + logues=logues, title=html_escape(self.vpath), srv_info=srv_info, ) diff --git a/copyparty/web/browser.html b/copyparty/web/browser.html index 57e36ad2..5bf98cf5 100644 --- a/copyparty/web/browser.html +++ b/copyparty/web/browser.html @@ -38,9 +38,7 @@ {%- endfor %} - {%- if prologue %} -
{{ prologue }}
- {%- endif %} +
{{ logues[0] }}
@@ -71,9 +69,7 @@
- {%- if epilogue %} -
{{ epilogue }}
- {%- endif %} +
{{ logues[1] }}

control-panel

diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 02e6b7b8..804b7871 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -712,15 +712,9 @@ function autoplay_blocked() { treetab.style.display = 'table'; - var pro = ebi('pro'); - if (pro) - treefiles.appendChild(pro); - + treefiles.appendChild(ebi('pro')); treefiles.appendChild(ebi('files')); - - var epi = ebi('epi'); - if (epi) - treefiles.appendChild(epi); + treefiles.appendChild(ebi('epi')); localStorage.setItem('entreed', 'tree'); get_tree("", get_vpath()); @@ -872,11 +866,8 @@ function autoplay_blocked() { apply_perms(res.perms); despin('#files'); - var o = ebi('pro'); - if (o) o.parentNode.removeChild(o); - - o = ebi('epi'); - if (o) o.parentNode.removeChild(o); + ebi('pro').innerHTML = res.logues ? res.logues[0] || "" : ""; + ebi('epi').innerHTML = res.logues ? res.logues[1] || "" : ""; reload_tree(); reload_browser(); @@ -915,15 +906,9 @@ function autoplay_blocked() { ev(e); var treetab = ebi('treetab'); - var pro = ebi('pro'); - if (pro) - treetab.parentNode.insertBefore(pro, treetab); - + treetab.parentNode.insertBefore(ebi('pro'), treetab); treetab.parentNode.insertBefore(ebi('files'), treetab.nextSibling); - - var epi = ebi('epi'); - if (epi) - treetab.parentNode.insertBefore(epi, ebi('files').nextSibling); + treetab.parentNode.insertBefore(ebi('epi'), ebi('files').nextSibling); ebi('path').style.display = 'inline-block'; treetab.style.display = 'none';