From 6822c833be9c9a19cd6c2f43d3dc001bdf1f64cb Mon Sep 17 00:00:00 2001 From: df Date: Sun, 18 Oct 2020 14:53:23 +0000 Subject: [PATCH 01/15] Retry access in case the settings database is locked Create `settings::_safer_query` class proc to allow 5 tries with 1s delay; use it for `_nval_setting` and `_tval_setting` methods --- webif/lib/settings.class | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/webif/lib/settings.class b/webif/lib/settings.class index 05361dd..4251fa6 100644 --- a/webif/lib/settings.class +++ b/webif/lib/settings.class @@ -54,6 +54,21 @@ class settings { rtschedule 0 } +proc {settings _safer_query} { queryText args } { + global settingsdb + # allow 5 (too many?) tries with 1s (too long?) delay to get access + for {set lockCnt 5} {} {sleep 1} { + try { + $settingsdb query $queryText {*}$args + } on error {msg opts} { + if {[string first "database is locked" $msg] >= 0 && [incr lockCnt -1] > 0} { + continue + } + return {*}$opts $msg + } + } +} + settings method hostname {{name ""}} { if {$name == ""} { # Get @@ -104,11 +119,10 @@ settings method smtp_server {{server ""}} { } settings method _nval_setting {name {val -1}} { - global settingsdb if {$val == -1} { # Get - set res [$settingsdb query " + set res [settings::_safer_query " select nval from settings where name = '$name' "] @@ -118,7 +132,7 @@ settings method _nval_setting {name {val -1}} { return 0 } else { # Set - $settingsdb query " + settings::_safer_query " replace into settings(name,nval) values('$name', $val) " @@ -127,11 +141,10 @@ settings method _nval_setting {name {val -1}} { } settings method _tval_setting {name {val -1} {def 0}} { - global settingsdb if {$val eq "-1"} { # Get - set res [$settingsdb query " + set res [settings::_safer_query " select tval from settings where name = '$name' "] @@ -141,7 +154,7 @@ settings method _tval_setting {name {val -1} {def 0}} { return $def } else { # Set - $settingsdb query " + settings::_safer_query " replace into settings(name,tval) values('$name', '%s') " $val From 9b64128c92198764295344e8a48f50d8caf7bfca Mon Sep 17 00:00:00 2001 From: df Date: Sun, 18 Oct 2020 15:48:07 +0000 Subject: [PATCH 02/15] Retry access in case the settings database is locked --- webif/lib/settings.class | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/webif/lib/settings.class b/webif/lib/settings.class index 4251fa6..5b56185 100644 --- a/webif/lib/settings.class +++ b/webif/lib/settings.class @@ -56,10 +56,11 @@ class settings { proc {settings _safer_query} { queryText args } { global settingsdb + # allow 5 (too many?) tries with 1s (too long?) delay to get access - for {set lockCnt 5} {} {sleep 1} { + for {set lockCnt 5} {true} {sleep 1} { try { - $settingsdb query $queryText {*}$args + return [$settingsdb query $queryText {*}$arg] } on error {msg opts} { if {[string first "database is locked" $msg] >= 0 && [incr lockCnt -1] > 0} { continue @@ -122,7 +123,7 @@ settings method _nval_setting {name {val -1}} { if {$val == -1} { # Get - set res [settings::_safer_query " + set res [settings _safer_query " select nval from settings where name = '$name' "] @@ -132,7 +133,7 @@ settings method _nval_setting {name {val -1}} { return 0 } else { # Set - settings::_safer_query " + settings _safer_query " replace into settings(name,nval) values('$name', $val) " @@ -144,7 +145,7 @@ settings method _tval_setting {name {val -1} {def 0}} { if {$val eq "-1"} { # Get - set res [settings::_safer_query " + set res [settings _safer_query " select tval from settings where name = '$name' "] @@ -154,7 +155,7 @@ settings method _tval_setting {name {val -1} {def 0}} { return $def } else { # Set - settings::_safer_query " + settings _safer_query " replace into settings(name,tval) values('$name', '%s') " $val From 7bb66de5f2b54fb17bbf1aaaee41e00fcef2bb42 Mon Sep 17 00:00:00 2001 From: df Date: Sun, 18 Oct 2020 19:19:26 +0000 Subject: [PATCH 03/15] Raise the "database locked" error from caller context --- webif/lib/settings.class | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/webif/lib/settings.class b/webif/lib/settings.class index 5b56185..fa74b11 100644 --- a/webif/lib/settings.class +++ b/webif/lib/settings.class @@ -62,8 +62,14 @@ proc {settings _safer_query} { queryText args } { try { return [$settingsdb query $queryText {*}$arg] } on error {msg opts} { - if {[string first "database is locked" $msg] >= 0 && [incr lockCnt -1] > 0} { - continue + if {[string first "database is locked" $msg] >= 0} { + if {[incr lockCnt -1] > 0} { + continue + } else { + # raise error from caller + set msg "Persistently unable to access Settings: database locked" + incr opts(-level) + } } return {*}$opts $msg } From 3e9ecc8a7ceab41ce383114b9c3d856251391a98 Mon Sep 17 00:00:00 2001 From: df Date: Mon, 19 Oct 2020 11:44:53 +0000 Subject: [PATCH 04/15] Change to 0.5s, doubling for 4 tries --- webif/lib/settings.class | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webif/lib/settings.class b/webif/lib/settings.class index fa74b11..ac7c6d5 100644 --- a/webif/lib/settings.class +++ b/webif/lib/settings.class @@ -57,8 +57,8 @@ class settings { proc {settings _safer_query} { queryText args } { global settingsdb - # allow 5 (too many?) tries with 1s (too long?) delay to get access - for {set lockCnt 5} {true} {sleep 1} { + # allow 4 tries from 0.5s delay, doubling, to get access + for {set lockCnt 4; set delay 0.5} {true} {sleep $delay; set delay $(2*$delay)} { try { return [$settingsdb query $queryText {*}$arg] } on error {msg opts} { From a90f49b3242962ac624f98a758085a00652942cb Mon Sep 17 00:00:00 2001 From: prpr Date: Mon, 19 Oct 2020 16:05:12 +0000 Subject: [PATCH 05/15] Prevent raw utf8 display https://hummy.tv/forum/threads/webif-web-interface-1-4-x.7712/post-135917 --- webif/html/browse/rename.jim | 3 +++ 1 file changed, 3 insertions(+) diff --git a/webif/html/browse/rename.jim b/webif/html/browse/rename.jim index 618f46b..1e3a07a 100755 --- a/webif/html/browse/rename.jim +++ b/webif/html/browse/rename.jim @@ -26,6 +26,9 @@ if {[file isdirectory $file]} { set new [string map {"\n" ""} [ string trim [cgi_get "rename_$attr"]]] set old [$ts get $attr] + if {$attr eq "title" || $attr eq "synopsis"} { + set new "\025$new" + } if {$new ne $old} { if {$attr eq "guidance" || [string length $new] > 0} { From 7c600be77e3aa04123cab25e1453c2eab980d496 Mon Sep 17 00:00:00 2001 From: df Date: Tue, 20 Oct 2020 18:34:19 +0000 Subject: [PATCH 06/15] Retry access in case the settings database is locked --- webif/lib/settings.class | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webif/lib/settings.class b/webif/lib/settings.class index ac7c6d5..f5edda2 100644 --- a/webif/lib/settings.class +++ b/webif/lib/settings.class @@ -60,7 +60,7 @@ proc {settings _safer_query} { queryText args } { # allow 4 tries from 0.5s delay, doubling, to get access for {set lockCnt 4; set delay 0.5} {true} {sleep $delay; set delay $(2*$delay)} { try { - return [$settingsdb query $queryText {*}$arg] + return [$settingsdb query $queryText {*}$args] } on error {msg opts} { if {[string first "database is locked" $msg] >= 0} { if {[incr lockCnt -1] > 0} { From 58ecd419527e7997a1a028a2f2713d1f49792dd4 Mon Sep 17 00:00:00 2001 From: prpr Date: Sat, 14 Nov 2020 01:17:07 +0000 Subject: [PATCH 07/15] Fix thumbnail generation --- webif/lib/ts.class | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/webif/lib/ts.class b/webif/lib/ts.class index 34087cf..de18178 100644 --- a/webif/lib/ts.class +++ b/webif/lib/ts.class @@ -354,13 +354,14 @@ ts method mkbmps {{offset 0}} { ts method mkbmp {{offset 0} {ext ""}} { set bfile [file rootname $file] - set cmd [list /mod/bin/ffmpeg -loglevel fatal -ss $offset -i $file \ - -frames 1 -pix_fmt argb -vf vflip -s 140x78 "$bfile$ext.bmp"] - if {[catch { exec {*}$cmd } msg]} { - puts "ERROR: $msg" - return 0 - } - return 1 + set bmpfile "$bfile$ext.bmp" + set cmd [list /mod/bin/ffmpeg -loglevel fatal -ss $offset -i $file \ + -frames 1 -pix_fmt argb -vf vflip -s 140x78 -y $bmpfile] + catch { exec {*}$cmd } + if {![catch { file stat $bmpfile stbmp }]} { + if {[dict get $stbmp size] != 0} { return 1 } + } + return 0 } ts method mkthm {{offset 0}} { From af74503b9980b1e6db1f97bb705065db10c74215 Mon Sep 17 00:00:00 2001 From: prpr Date: Sat, 14 Nov 2020 01:25:46 +0000 Subject: [PATCH 08/15] Fix the ****ing formatting in this stupid editor --- webif/lib/ts.class | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/webif/lib/ts.class b/webif/lib/ts.class index de18178..b998d93 100644 --- a/webif/lib/ts.class +++ b/webif/lib/ts.class @@ -354,14 +354,14 @@ ts method mkbmps {{offset 0}} { ts method mkbmp {{offset 0} {ext ""}} { set bfile [file rootname $file] - set bmpfile "$bfile$ext.bmp" - set cmd [list /mod/bin/ffmpeg -loglevel fatal -ss $offset -i $file \ - -frames 1 -pix_fmt argb -vf vflip -s 140x78 -y $bmpfile] - catch { exec {*}$cmd } - if {![catch { file stat $bmpfile stbmp }]} { - if {[dict get $stbmp size] != 0} { return 1 } - } - return 0 + set bmpfile "$bfile$ext.bmp" + set cmd [list /mod/bin/ffmpeg -loglevel fatal -ss $offset -i $file \ + -frames 1 -pix_fmt argb -vf vflip -s 140x78 -y $bmpfile] + catch { exec {*}$cmd } + if {![catch { file stat $bmpfile stbmp }]} { + if {[dict get $stbmp size] != 0} { return 1 } + } + return 0 } ts method mkthm {{offset 0}} { From 0ad1491634074312009877e597748a256996ea9d Mon Sep 17 00:00:00 2001 From: df Date: Fri, 11 Dec 2020 11:18:58 +0000 Subject: [PATCH 09/15] Avoid displaying negative free space --- webif/html/diskspace/diskspace.jim | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/webif/html/diskspace/diskspace.jim b/webif/html/diskspace/diskspace.jim index d21b767..5cd88c8 100755 --- a/webif/html/diskspace/diskspace.jim +++ b/webif/html/diskspace/diskspace.jim @@ -9,6 +9,11 @@ lassign [system diskspace 1] size used perc free fperc tsrbuf tsrused set tsrreserve $($tsrbuf - $tsrused) # Adjust values to account for the TSR reserve set free $($free - $tsrreserve) +# In case the reserve has been over-committed +if {$free < 0)} { + # avoid displaying negative free, or used > available + set free 0 +} set used $($size - $free) set dbs 0 From 2e471129b8b0bd52623f5c79aa54e71ca81185cc Mon Sep 17 00:00:00 2001 From: HummyPkg Date: Sun, 13 Dec 2020 23:24:12 +0000 Subject: [PATCH 10/15] Release 1.4.8-11 --- CONTROL/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTROL/control b/CONTROL/control index 8a5bd65..cc40996 100644 --- a/CONTROL/control +++ b/CONTROL/control @@ -1,7 +1,7 @@ Package: webif Priority: optional Section: web -Version: 1.4.8-10 +Version: 1.4.8-11 Architecture: mipsel Maintainer: af123@hpkg.tv Depends: tcpfix,webif-channelicons(>=1.1.27),lighttpd(>=1.4.39-1),jim(>=0.79),jim-pack(>=0.79),jim-oo(>=0.77),jim-sqlite3(>=0.77),jim-cgi(>=0.7-2),jim-binary(>=0.76),service-control(>=2.3),busybox(>=1.20.2-1),lsof(>=4.87),epg(>=1.2.8),hmt(>=2.0.10),ssmtp,cron-daemon(>=1.18.3-3),at(>=3.1.18),anacron,trm(>=1.1),openssl-command,nicesplice,id3v2,file,rsvsync(>=1.1.13),webif-charts(>=1.2-1),stripts(>=1.4.2),tmenu(>=1.21-2),ffmpeg(>=2.8),id3v2,multienv(>=1.6),tcpping(>=1.1),e2fsprogs,wireless-tools(>=29-1),dbupdate,recmon(>=2.0.7),hwctl,nugget(>=0.98),sqlite3(>=3.15.1),jim-xconv,zip(>=3.0-1),wget From 4da3bb020940f794e503514080213cd1f002774b Mon Sep 17 00:00:00 2001 From: df Date: Thu, 31 Dec 2020 12:13:52 +0000 Subject: [PATCH 11/15] Banish extraneous ) --- webif/html/diskspace/diskspace.jim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webif/html/diskspace/diskspace.jim b/webif/html/diskspace/diskspace.jim index 5cd88c8..58e98e3 100755 --- a/webif/html/diskspace/diskspace.jim +++ b/webif/html/diskspace/diskspace.jim @@ -10,7 +10,7 @@ set tsrreserve $($tsrbuf - $tsrused) # Adjust values to account for the TSR reserve set free $($free - $tsrreserve) # In case the reserve has been over-committed -if {$free < 0)} { +if {$free < 0} { # avoid displaying negative free, or used > available set free 0 } From 6641b6f4582daa75ad8715831700526f153aa2b5 Mon Sep 17 00:00:00 2001 From: df Date: Fri, 1 Jan 2021 22:33:14 +0000 Subject: [PATCH 12/15] Understand Part/Pt. as a synonym for episode --- webif/lib/ts.class | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/webif/lib/ts.class b/webif/lib/ts.class index b998d93..9b164ce 100644 --- a/webif/lib/ts.class +++ b/webif/lib/ts.class @@ -697,6 +697,14 @@ ts method extract_numbers {} { regexp -nocase -- {S\.*(\d+),?\s*Ep\.?\s*(\d+)(/(\d+))?} $synopsis \ x seriesnum episodenum x episodetot + # (Part 5/10) + # (Pt. 5/10) + # (Part 5 of 10) + # (Pt. 5 of 10) + # (Pt5) + regexp -nocase -- {P(art|t\.?)\s*(\d+)\s*(of|/)?\s*(\d+)?} $synopsis \ + x x episodenum x episodetot + foreach v {seriesnum episodenum episodetot} { if {[set $v] eq ""} { set $v 0 From a5f0734201a5e5bd8ecd7dbb11ae56255c25e906 Mon Sep 17 00:00:00 2001 From: HummyPkg Date: Mon, 18 Jan 2021 22:59:51 +0000 Subject: [PATCH 13/15] Update tvdb XML parsing utility --- webif/lib/bin/tvdb | Bin 14996 -> 15608 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/webif/lib/bin/tvdb b/webif/lib/bin/tvdb index 57925b8c6b115128216352207db22f56caadeb05..f4237bfaf77c3b03ef30e86e5a69ee4f9f1cba3f 100755 GIT binary patch delta 4505 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 L7qy1dwAua(41!n- From 488961c600a5597a4753d12ca4aabe7f8c923cea Mon Sep 17 00:00:00 2001 From: HummyPkg Date: Mon, 18 Jan 2021 23:00:37 +0000 Subject: [PATCH 14/15] Update version --- CONTROL/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTROL/control b/CONTROL/control index cc40996..3dd73fd 100644 --- a/CONTROL/control +++ b/CONTROL/control @@ -1,7 +1,7 @@ Package: webif Priority: optional Section: web -Version: 1.4.8-11 +Version: 1.4.9 Architecture: mipsel Maintainer: af123@hpkg.tv Depends: tcpfix,webif-channelicons(>=1.1.27),lighttpd(>=1.4.39-1),jim(>=0.79),jim-pack(>=0.79),jim-oo(>=0.77),jim-sqlite3(>=0.77),jim-cgi(>=0.7-2),jim-binary(>=0.76),service-control(>=2.3),busybox(>=1.20.2-1),lsof(>=4.87),epg(>=1.2.8),hmt(>=2.0.10),ssmtp,cron-daemon(>=1.18.3-3),at(>=3.1.18),anacron,trm(>=1.1),openssl-command,nicesplice,id3v2,file,rsvsync(>=1.1.13),webif-charts(>=1.2-1),stripts(>=1.4.2),tmenu(>=1.21-2),ffmpeg(>=2.8),id3v2,multienv(>=1.6),tcpping(>=1.1),e2fsprogs,wireless-tools(>=29-1),dbupdate,recmon(>=2.0.7),hwctl,nugget(>=0.98),sqlite3(>=3.15.1),jim-xconv,zip(>=3.0-1),wget From 269f844f4399906f018aa23b4bb7fbbf38bde4c0 Mon Sep 17 00:00:00 2001 From: HummyPkg Date: Mon, 18 Jan 2021 23:05:01 +0000 Subject: [PATCH 15/15] Add to episode parsing tests --- webif/lib/test/episode | 5 +++++ webif/lib/ts.class | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/webif/lib/test/episode b/webif/lib/test/episode index aeb7f76..333ef7d 100755 --- a/webif/lib/test/episode +++ b/webif/lib/test/episode @@ -18,6 +18,11 @@ foreach {sample expected} { {(S8, Ep2)} {S8E2/0} {(S4 Ep22/24)} {S4E22/24} {23/27.} {S0E23/27} + {Part 5/10} {S0E5/10} + {Pt. 5/10} {S0E5/10} + {Part 5 of 10} {S0E5/10} + {Pt. 5 of10} {S0E5/10} + {Pt5} {S0E5/0} } { set ts [ts new "synopsis {$sample}"] $ts episode_name diff --git a/webif/lib/ts.class b/webif/lib/ts.class index 9b164ce..b9b6ee2 100644 --- a/webif/lib/ts.class +++ b/webif/lib/ts.class @@ -698,7 +698,7 @@ ts method extract_numbers {} { x seriesnum episodenum x episodetot # (Part 5/10) - # (Pt. 5/10) + # (Pt. 5/10) # (Part 5 of 10) # (Pt. 5 of 10) # (Pt5)