From f77d11f3fc7b3c3dcab4c873fa54ac8e6d1d821b Mon Sep 17 00:00:00 2001 From: HummyPkg Date: Wed, 27 Nov 2019 15:51:43 +0000 Subject: [PATCH] Restore thetvdb functionality following site changes --- CONTROL/control | 4 +- webif/html/browse/tvdb/style.css | 2 +- webif/lib/bin/tvdb | Bin 13692 -> 14996 bytes webif/lib/tvdb.class | 77 +++++++++++++++---------------- 4 files changed, 40 insertions(+), 43 deletions(-) diff --git a/CONTROL/control b/CONTROL/control index 242577d..de2f94a 100644 --- a/CONTROL/control +++ b/CONTROL/control @@ -1,10 +1,10 @@ Package: webif Priority: optional Section: web -Version: 1.4.6 +Version: 1.4.7 Architecture: mipsel Maintainer: af123@hpkg.tv -Depends: tcpfix,webif-channelicons(>=1.1.27),lighttpd(>=1.4.39-1),jim(>=0.78-1),jim-oo(>=0.77),jim-sqlite3(>=0.77),jim-cgi(>=0.7-1),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.12-1),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 +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-1),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.12-1),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) Suggests: Description: An evolving web interface for the Humax. Tags: https://hummy.tv/forum/threads/7712/ diff --git a/webif/html/browse/tvdb/style.css b/webif/html/browse/tvdb/style.css index d285df6..7f88e06 100644 --- a/webif/html/browse/tvdb/style.css +++ b/webif/html/browse/tvdb/style.css @@ -14,7 +14,7 @@ div.tvdbsynopsis img.tvdbbanner { - height: 30px; + height: 50px; vertical-align: middle; } diff --git a/webif/lib/bin/tvdb b/webif/lib/bin/tvdb index 8621358696cb71684bf5a06926cb4ac7c9896bc5..57925b8c6b115128216352207db22f56caadeb05 100755 GIT binary patch literal 14996 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 diff --git a/webif/lib/tvdb.class b/webif/lib/tvdb.class index da234e3..2abc580 100644 --- a/webif/lib/tvdb.class +++ b/webif/lib/tvdb.class @@ -7,6 +7,7 @@ require system.class xml.class set ::tvdb::apikey 1764335F804A5A91 set ::tvdb::mirror "thetvdb.com" +set ::tvdb::artwork "artworks.thetvdb.com" set ::tvdb::cache "/mod/var/tvdb" set ::tvdb::icache "/mod/webif/cache/tvdb/img" set ::tvdb::cacheage 86400 @@ -51,23 +52,35 @@ tvdb method setseries {sid} { set seriesid $sid } -tvdb method _fetch {url} { - set f [socket stream "${::tvdb::mirror}:80"] - $f puts -nonewline "GET $url HTTP/1.0\r\n" - $f puts -nonewline "Host: $::tvdb::mirror\r\n" - $f puts -nonewline "Connection: close\r\n" - $f puts -nonewline "\r\n" +#tvdb method _fetch {url} { +# set f [socket stream "${::tvdb::mirror}:443"] +# $f ssl +# $f puts -nonewline "GET $url HTTP/1.1\r\n" +# $f puts -nonewline "Host: $::tvdb::mirror\r\n" +# $f puts -nonewline "Connection: close\r\n" +# $f puts -nonewline "\r\n" +# +# set line [string trim [$f gets]] +# while {[string length $line]} { +# #puts "Web Header: $line" +# set line [string trim [$f gets]] +# } +# +# # Save the body +# set ret [$f read] +# $f close +# return $ret +#} - set line [string trim [$f gets]] - while {[string length $line]} { - #puts "Web Header: $line" - set line [string trim [$f gets]] - } - - # Save the body - set ret [$f read] - $f close - return $ret +proc {tvdb fetchfile} {url} { + set cmd {wget -q -4 -O-} + lappend cmd $url + ::tvdb::dlog "Executing $cmd" + return [exec {*}$cmd] +} + +tvdb method _fetch {path} { + return [tvdb fetchfile "https://$::tvdb::mirror$path"] } tvdb method _parse {xml vars {end "XX"}} { @@ -157,7 +170,7 @@ tvdb method fetchseries {} { puts $f [$self _fetch \ "/api/$::tvdb::apikey/series/$seriesid/all/en.zip"] $f close - catch {exec unzip -o -q "$base.zip" en.xml -d $::tvdb::cache} + catch {exec /mod/bin/unzip -o -q "$base.zip" en.xml -d $::tvdb::cache} if {[file exists "$::tvdb::cache/en.xml"]} { file rename "$::tvdb::cache/en.xml" $base.xml # Extract episode info @@ -388,30 +401,14 @@ proc {tvdb series} {series {sid 0}} { return $t } -proc {tvdb fetchfile} {url} { - set f [socket stream "${::tvdb::mirror}:80"] - $f puts -nonewline "GET $url HTTP/1.0\r\n" - $f puts -nonewline "Host: $::tvdb::mirror\r\n" - $f puts -nonewline "Connection: close\r\n" - $f puts -nonewline "\r\n" - - # Skip headers in the response. - set line [string trim [$f gets]] - while {[string length $line]} { - #puts "Web Header: $line" - set line [string trim [$f gets]] - } - - # Save the body - set ret [$f read] - $f close - return $ret -} - proc {tvdb cachebanner} {banner} { + if {![string match {/banners/*} $banner]} { + set _banner "/banners/$banner" + } else { + set _banner $banner + } if {![file exists "$::tvdb::icache/$banner"]} { - set ret [tvdb fetchfile \ - "http://$::tvdb::mirror/banners/$banner"] + set ret [tvdb fetchfile "https://$::tvdb::artwork$_banner"] if {[string length $ret] > 50} { system mkdir_p "$::tvdb::icache/[file dirname $banner]" file write "$::tvdb::icache/$banner" $ret @@ -424,6 +421,6 @@ proc {tvdb bannerurl} {banner} { } proc {tvdb seriesurl} {seriesid} { - return "http://$::tvdb::mirror/?tab=series&id=$seriesid" + return "https://$::tvdb::mirror/?tab=series&id=$seriesid" }