mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
up2k: cheap progress bars
This commit is contained in:
parent
171e93c201
commit
217d15fe81
|
@ -1068,6 +1068,8 @@ class Up2k(object):
|
|||
with self.mutex:
|
||||
job = self.registry[ptop].get(wark, None)
|
||||
if not job:
|
||||
known = " ".join([x for x in self.registry[ptop].keys()])
|
||||
self.log("unknown wark [{}], known: {}".format(wark, known))
|
||||
raise Pebkac(400, "unknown wark")
|
||||
|
||||
if chash not in job["need"]:
|
||||
|
|
|
@ -173,8 +173,15 @@ function U2pvis(act, btns) {
|
|||
var fo = this.tab[nfile];
|
||||
field = ['hn', 'ht', 'hp'][field];
|
||||
fo[field] = html;
|
||||
if (this.is_act(fo.in))
|
||||
ebi('f{0}{1}'.format(nfile, field.slice(1))).innerHTML = html;
|
||||
if (!this.is_act(fo.in))
|
||||
return;
|
||||
|
||||
var obj = ebi('f{0}{1}'.format(nfile, field.slice(1)));
|
||||
obj.innerHTML = html;
|
||||
if (field == 'hp') {
|
||||
obj.style.color = '';
|
||||
obj.style.background = '';
|
||||
}
|
||||
};
|
||||
|
||||
this.setab = function (nfile, blocks) {
|
||||
|
@ -199,11 +206,17 @@ function U2pvis(act, btns) {
|
|||
var fo = this.tab[fobj.n];
|
||||
fo.nh++;
|
||||
var p = this.perc(fo.nh, fo.pa.length, 0, fobj.size, fobj.t1);
|
||||
fo.hp = '{0}% ({1}, {2} MB/s)'.format(
|
||||
fo.hp = '{0}%, {1}, {2} MB/s'.format(
|
||||
p[0].toFixed(2), p[1], p[2].toFixed(2)
|
||||
);
|
||||
if (this.is_act(fo.in))
|
||||
ebi('f{0}p'.format(fobj.n)).innerHTML = fo.hp;
|
||||
if (!this.is_act(fo.in))
|
||||
return;
|
||||
|
||||
var obj = ebi('f{0}p'.format(fobj.n));
|
||||
obj.innerHTML = fo.hp;
|
||||
obj.style.color = '#fff';
|
||||
var o1 = p[0] - 2, o2 = p[0] - 0.1, o3 = p[0];
|
||||
obj.style.background = 'linear-gradient(90deg, #025, #06a ' + o1 + '%, #08d ' + o2 + '%, #333 ' + o3 + '%)';
|
||||
};
|
||||
|
||||
this.prog = function (fobj, nchunk, percent) {
|
||||
|
@ -225,13 +238,19 @@ function U2pvis(act, btns) {
|
|||
|
||||
extra /= fo.pa.length;
|
||||
|
||||
var perc = this.perc(fo.nd, fo.pa.length, extra, fobj.size, fobj.t3);
|
||||
fo.hp = '{0}% ({1}, {2} MB/s)'.format(
|
||||
perc[0].toFixed(2), perc[1], perc[2].toFixed(2)
|
||||
var p = this.perc(fo.nd, fo.pa.length, extra, fobj.size, fobj.t3);
|
||||
fo.hp = '{0}%, {1}, {2} MB/s'.format(
|
||||
p[0].toFixed(2), p[1], p[2].toFixed(2)
|
||||
);
|
||||
|
||||
if (this.is_act(fo.in))
|
||||
ebi('f{0}p'.format(fobj.n)).innerHTML = fo.hp;
|
||||
if (!this.is_act(fo.in))
|
||||
return;
|
||||
|
||||
var obj = ebi('f{0}p'.format(fobj.n));
|
||||
obj.innerHTML = fo.hp;
|
||||
obj.style.color = '#fff';
|
||||
var o1 = p[0] - 2, o2 = p[0] - 0.1, o3 = p[0];
|
||||
obj.style.background = 'linear-gradient(90deg, #050, #270 ' + o1 + '%, #4b0 ' + o2 + '%, #333 ' + o3 + '%)';
|
||||
};
|
||||
|
||||
this.move = function (nfile, newcat) {
|
||||
|
@ -669,7 +688,7 @@ function up2k_init(have_crypto) {
|
|||
pvis.addfile([
|
||||
fsearch ? esc(entry.name) : linksplit(
|
||||
esc(uricom_dec(entry.purl)[0] + entry.name)).join(' '),
|
||||
'hashing',
|
||||
'📐 hash',
|
||||
''
|
||||
]);
|
||||
st.files.push(entry);
|
||||
|
@ -1025,7 +1044,7 @@ function up2k_init(have_crypto) {
|
|||
}
|
||||
|
||||
pvis.seth(t.n, 2, 'hashing done');
|
||||
pvis.seth(t.n, 1, 'pending');
|
||||
pvis.seth(t.n, 1, '📦 wait');
|
||||
st.busy.hash.splice(st.busy.hash.indexOf(t), 1);
|
||||
st.todo.handshake.push(t);
|
||||
};
|
||||
|
@ -1155,11 +1174,11 @@ function up2k_init(have_crypto) {
|
|||
tasker();
|
||||
return;
|
||||
}
|
||||
alert("server broke (error {0}):\n\"{1}\"\n".format(
|
||||
xhr.status,
|
||||
(xhr.response && xhr.response.err) ||
|
||||
(xhr.responseText && xhr.responseText) ||
|
||||
"no further information"));
|
||||
alert("server broke; hs-err {0} on file [{1}]:\n".format(
|
||||
xhr.status, t.name) + (
|
||||
(xhr.response && xhr.response.err) ||
|
||||
(xhr.responseText && xhr.responseText) ||
|
||||
"no further information"));
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1189,7 +1208,7 @@ function up2k_init(have_crypto) {
|
|||
var npart = upt.npart;
|
||||
var t = st.files[upt.nfile];
|
||||
|
||||
pvis.seth(t.n, 1, "upping");
|
||||
pvis.seth(t.n, 1, "🚀 send");
|
||||
|
||||
var chunksize = get_chunksize(t.size);
|
||||
var car = npart * chunksize;
|
||||
|
@ -1224,11 +1243,11 @@ function up2k_init(have_crypto) {
|
|||
tasker();
|
||||
}
|
||||
else
|
||||
alert("server broke (error {0}):\n\"{1}\"\n".format(
|
||||
xhr.status,
|
||||
(xhr.response && xhr.response.err) ||
|
||||
(xhr.responseText && xhr.responseText) ||
|
||||
"no further information"));
|
||||
alert("server broke; cu-err {0} on file [{1}]:\n".format(
|
||||
xhr.status, t.name) + (
|
||||
(xhr.response && xhr.response.err) ||
|
||||
(xhr.responseText && xhr.responseText) ||
|
||||
"no further information"));
|
||||
};
|
||||
xhr.open('POST', t.purl + 'chunkpit.php', true);
|
||||
//xhr.setRequestHeader("X-Up2k-Hash", t.hash[npart].substr(1) + "x");
|
||||
|
|
|
@ -77,6 +77,7 @@
|
|||
}
|
||||
#u2tab td:nth-child(2) {
|
||||
width: 5em;
|
||||
white-space: nowrap;
|
||||
}
|
||||
#u2tab td:nth-child(3) {
|
||||
width: 40%;
|
||||
|
@ -114,6 +115,9 @@
|
|||
margin-left: -1px;
|
||||
background: transparent;
|
||||
}
|
||||
#u2cards span {
|
||||
color: #fff;
|
||||
}
|
||||
#u2conf {
|
||||
margin: 1em auto;
|
||||
width: 30em;
|
||||
|
|
Loading…
Reference in a new issue