mirror of
https://github.com/9001/copyparty.git
synced 2025-08-18 01:22:13 -06:00
indicate write-activity on splashpage
This commit is contained in:
parent
70d07d1609
commit
e24ffebfc8
|
@ -1924,7 +1924,13 @@ class HttpCli(object):
|
||||||
vstate = {("/" + k).rstrip("/") + "/": v for k, v in vs["volstate"].items()}
|
vstate = {("/" + k).rstrip("/") + "/": v for k, v in vs["volstate"].items()}
|
||||||
else:
|
else:
|
||||||
vstate = {}
|
vstate = {}
|
||||||
vs = {"scanning": None, "hashq": None, "tagq": None, "mtpq": None}
|
vs = {
|
||||||
|
"scanning": None,
|
||||||
|
"hashq": None,
|
||||||
|
"tagq": None,
|
||||||
|
"mtpq": None,
|
||||||
|
"dbwt": None,
|
||||||
|
}
|
||||||
|
|
||||||
if self.uparam.get("ls") in ["v", "t", "txt"]:
|
if self.uparam.get("ls") in ["v", "t", "txt"]:
|
||||||
if self.uname == "*":
|
if self.uname == "*":
|
||||||
|
@ -1934,7 +1940,7 @@ class HttpCli(object):
|
||||||
|
|
||||||
if vstate:
|
if vstate:
|
||||||
txt += "\nstatus:"
|
txt += "\nstatus:"
|
||||||
for k in ["scanning", "hashq", "tagq", "mtpq"]:
|
for k in ["scanning", "hashq", "tagq", "mtpq", "dbwt"]:
|
||||||
txt += " {}({})".format(k, vs[k])
|
txt += " {}({})".format(k, vs[k])
|
||||||
|
|
||||||
if rvol:
|
if rvol:
|
||||||
|
@ -1963,6 +1969,7 @@ class HttpCli(object):
|
||||||
hashq=vs["hashq"],
|
hashq=vs["hashq"],
|
||||||
tagq=vs["tagq"],
|
tagq=vs["tagq"],
|
||||||
mtpq=vs["mtpq"],
|
mtpq=vs["mtpq"],
|
||||||
|
dbwt=vs["dbwt"],
|
||||||
url_suf=suf,
|
url_suf=suf,
|
||||||
k304=self.k304(),
|
k304=self.k304(),
|
||||||
)
|
)
|
||||||
|
|
|
@ -231,6 +231,7 @@ class Up2k(object):
|
||||||
"hashq": self.n_hashq,
|
"hashq": self.n_hashq,
|
||||||
"tagq": self.n_tagq,
|
"tagq": self.n_tagq,
|
||||||
"mtpq": mtpq,
|
"mtpq": mtpq,
|
||||||
|
"dbwt": min(1000 * 24 * 60 * 60 - 1, int(time.time() - self.db_act)),
|
||||||
}
|
}
|
||||||
return json.dumps(ret, indent=4)
|
return json.dumps(ret, indent=4)
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
<tr><td>hash-q</td><td>{{ hashq }}</td></tr>
|
<tr><td>hash-q</td><td>{{ hashq }}</td></tr>
|
||||||
<tr><td>tag-q</td><td>{{ tagq }}</td></tr>
|
<tr><td>tag-q</td><td>{{ tagq }}</td></tr>
|
||||||
<tr><td>mtp-q</td><td>{{ mtpq }}</td></tr>
|
<tr><td>mtp-q</td><td>{{ mtpq }}</td></tr>
|
||||||
|
<tr><td>db-act</td><td id="u">{{ dbwt }}</td></tr>
|
||||||
</table>
|
</table>
|
||||||
</td><td>
|
</td><td>
|
||||||
<table class="vols">
|
<table class="vols">
|
||||||
|
@ -50,8 +51,8 @@
|
||||||
</table>
|
</table>
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
<div class="btns">
|
<div class="btns">
|
||||||
<a id="d" href="/?stack" tt="shows the state of all active threads">dump stack</a>
|
<a id="d" href="/?stack">dump stack</a>
|
||||||
<a id="e" href="/?reload=cfg" tt="reload config files (accounts/volumes/volflags),$Nand rescan all e2ds volumes">reload cfg</a>
|
<a id="e" href="/?reload=cfg">reload cfg</a>
|
||||||
</div>
|
</div>
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,12 @@ var Ls = {
|
||||||
"r1": "gå hjem",
|
"r1": "gå hjem",
|
||||||
".s1": "kartlegg",
|
".s1": "kartlegg",
|
||||||
"t1": "handling",
|
"t1": "handling",
|
||||||
|
"u2": "tid siden noen sist skrev til serveren$N( opplastning / navneendring / ... )$N$N17d = 17 dager$N1h23 = 1 time 23 minutter$N4m56 = 4 minuter 56 sekunder",
|
||||||
|
},
|
||||||
|
"eng": {
|
||||||
|
"d2": "shows the state of all active threads",
|
||||||
|
"e2": "reload config files (accounts/volumes/volflags),$Nand rescan all e2ds volumes",
|
||||||
|
"u2": "time since the last server write$N( upload / rename / ... )$N$N17d = 17 days$N1h23 = 1 hour 23 minutes$N4m56 = 4 minutes 56 seconds",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
d = Ls[sread("lang") || lang];
|
d = Ls[sread("lang") || lang];
|
||||||
|
@ -43,3 +49,7 @@ tt.init();
|
||||||
var o = QS('input[name="cppwd"]');
|
var o = QS('input[name="cppwd"]');
|
||||||
if (!ebi('c') && o.offsetTop + o.offsetHeight < window.innerHeight)
|
if (!ebi('c') && o.offsetTop + o.offsetHeight < window.innerHeight)
|
||||||
o.focus();
|
o.focus();
|
||||||
|
|
||||||
|
o = ebi('u');
|
||||||
|
if (o && /[0-9]+$/.exec(o.innerHTML))
|
||||||
|
o.innerHTML = shumantime(o.innerHTML);
|
||||||
|
|
|
@ -653,6 +653,30 @@ function humantime(v) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function shumantime(v) {
|
||||||
|
if (v < 10)
|
||||||
|
return f2f(v, 2) + 's';
|
||||||
|
if (v < 60)
|
||||||
|
return f2f(v, 1) + 's';
|
||||||
|
|
||||||
|
v = parseInt(v);
|
||||||
|
var st = [[60 * 60 * 24, 'd'], [60 * 60, 'h'], [60, 'm']];
|
||||||
|
|
||||||
|
for (var a = 0; a < st.length; a++) {
|
||||||
|
var mod = st[a][0],
|
||||||
|
ch = st[a][1];
|
||||||
|
|
||||||
|
if (v < mod)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
var v1 = parseInt(v / mod),
|
||||||
|
v2 = ('0' + parseInt(v % mod)).slice(-2);
|
||||||
|
|
||||||
|
return v1 + ch + (v1 >= 10 ? '' : v2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function clamp(v, a, b) {
|
function clamp(v, a, b) {
|
||||||
return Math.min(Math.max(v, a), b);
|
return Math.min(Math.max(v, a), b);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue