From 9761b4e3e9290fcf731a5f964e74521f96676cf0 Mon Sep 17 00:00:00 2001 From: ed Date: Sat, 3 Apr 2021 00:35:46 +0200 Subject: [PATCH] v0.10.7 --- copyparty/__version__.py | 4 ++-- copyparty/web/up2k.js | 30 +++++++++++++++++++----------- docs/notes.sh | 8 ++++++++ 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/copyparty/__version__.py b/copyparty/__version__.py index 844cf5ac..422b8f54 100644 --- a/copyparty/__version__.py +++ b/copyparty/__version__.py @@ -1,8 +1,8 @@ # coding: utf-8 -VERSION = (0, 10, 6) +VERSION = (0, 10, 7) CODENAME = "zip it" -BUILD_DT = (2021, 4, 2) +BUILD_DT = (2021, 4, 3) S_VERSION = ".".join(map(str, VERSION)) S_BUILD_DT = "{0:04d}-{1:02d}-{2:02d}".format(*BUILD_DT) diff --git a/copyparty/web/up2k.js b/copyparty/web/up2k.js index 30e1f412..cc9afff0 100644 --- a/copyparty/web/up2k.js +++ b/copyparty/web/up2k.js @@ -524,7 +524,7 @@ function up2k_init(have_crypto) { if (st.todo.handshake.length > 0 && st.busy.handshake.length == 0 && ( - st.todo.handshake[0].t3 || ( + st.todo.handshake[0].t4 || ( handshakes_permitted() && st.busy.upload.length < parallel_uploads ) @@ -868,27 +868,32 @@ function up2k_init(have_crypto) { t.done = true; st.bytes.uploaded += t.size - t.bytes_uploaded; var spd1 = (t.size / ((t.t2 - t.t1) / 1000.)) / (1024 * 1024.); - var spd2 = (t.size / ((t.t3 - t.t2) / 1000.)) / (1024 * 1024.); + var spd2 = (t.size / ((t.t4 - t.t3) / 1000.)) / (1024 * 1024.); ebi('f{0}p'.format(t.n)).innerHTML = 'hash {0}, up {1} MB/s'.format( spd1.toFixed(2), spd2.toFixed(2)); } - else t.t3 = undefined; + else t.t4 = undefined; tasker(); } else { - var err = ""; - var rsp = (xhr.responseText + ''); + var err = "", + rsp = (xhr.responseText + ''), + ofs = rsp.lastIndexOf('\nURL: '); + + if (ofs !== -1) + rsp = rsp.slice(0, ofs); + + if (rsp.indexOf('
') === 0)
+                    rsp = rsp.slice(5);
+
+                st.bytes.uploaded += t.size;
                 if (rsp.indexOf('partial upload exists') !== -1 ||
                     rsp.indexOf('file already exists') !== -1) {
                     err = rsp;
-                    var ofs = err.lastIndexOf(' : ');
-                    if (ofs > 0)
-                        err = err.slice(0, ofs);
-
                     ofs = err.indexOf('\n/');
                     if (ofs !== -1) {
-                        err = err.slice(0, ofs + 1) + linksplit(err.slice(ofs + 2, -1)).join(' ');
+                        err = err.slice(0, ofs + 1) + linksplit(err.slice(ofs + 2)).join(' ');
                     }
                 }
                 if (err != "") {
@@ -961,7 +966,7 @@ function up2k_init(have_crypto) {
                     st.busy.upload.splice(st.busy.upload.indexOf(upt), 1);
                     t.postlist.splice(t.postlist.indexOf(npart), 1);
                     if (t.postlist.length == 0) {
-                        t.t3 = new Date().getTime();
+                        t.t4 = new Date().getTime();
                         ebi('f{0}t'.format(t.n)).innerHTML = 'verifying';
                         st.todo.handshake.unshift(t);
                     }
@@ -984,6 +989,9 @@ function up2k_init(have_crypto) {
 
             xhr.responseType = 'text';
             xhr.send(e.target.result);
+
+            if (!t.t3)
+                t.t3 = new Date().getTime();
         };
 
         reader.readAsArrayBuffer(bobslice.call(t.fobj, car, cdr));
diff --git a/docs/notes.sh b/docs/notes.sh
index 476a1f59..2f07c404 100644
--- a/docs/notes.sh
+++ b/docs/notes.sh
@@ -73,6 +73,13 @@ shab64() { sp=$1; f="$2"; v=0; sz=$(stat -c%s "$f"); while true; do w=$((v+sp*10
 command -v gdate && date() { gdate "$@"; }; while true; do t=$(date +%s.%N); (time wget http://127.0.0.1:3923/?ls -qO- | jq -C '.files[]|{sz:.sz,ta:.tags.artist,tb:.tags.".bpm"}|del(.[]|select(.==null))' | awk -F\" '/"/{t[$2]++} END {for (k in t){v=t[k];p=sprintf("%" (v+1) "s",v);gsub(/ /,"#",p);printf "\033[36m%s\033[33m%s   ",k,p}}') 2>&1 | awk -v ts=$t 'NR==1{t1=$0} NR==2{sub(/.*0m/,"");sub(/s$/,"");t2=$0;c=2; if(t2>0.3){c=3} if(t2>0.8){c=1} } END{sub(/[0-9]{6}$/,"",ts);printf "%s   \033[3%dm%s   %s\033[0m\n",ts,c,t2,t1}'; sleep 0.1 || break; done
 
 
+##
+## js oneliners
+
+# get all up2k search result URLs
+var t=[]; var b=document.location.href.split('#')[0].slice(0, -1); document.querySelectorAll('#u2tab .prog a').forEach((x) => {t.push(b+encodeURI(x.getAttribute("href")))}); console.log(t.join("\n"));
+
+
 ##
 ## sqlite3 stuff
 
@@ -139,6 +146,7 @@ dbg.asyncStore.pendingBreakpoints = {}
 # fix firefox phantom breakpoints
 about:config >> devtools.debugger.prefs-schema-version = -1
 
+
 ##
 ## http 206