TheTVDB.com Integration

Theothersimon

New Member
Has something changed on TVDB?

But now I'm getting every episode showing the number of the episode from the total too:

View attachment 2554
What you are seeing there is the difference in episode synopsis between the BBC and other broadcasters. The BBC tends to put the episode number in text at the start of the episode synopsis (e.g. "1/6. Islands:" meaning episode 1 of 6). So the dedup code extracts the name of the episode (in this case "1_6_ Islands") and then the TVDB code prepends it with the series and episode number.

Dave doesn't put episode numbers at the start of the synopsis, which is why you see the difference.

Everything is operating as it should.
 
OP
af123

af123

Administrator
Staff member
af123 has tweaked it a few times to try and improve the matching.
Broadcasters are always changing the format of the synopsis unfortunately, here is my current set of tests that I run. Synopsis text on the left, expected result on the right.

Code:
        Episode 5             S0E5/0
        (8/8)                 S0E8/8
        (Episode 5/10)        S0E5/10
        (Ep5/10)              S0E5/10
        (Ep 3 of 3)           S0E3/3
        (Ep3)                 S0E3/0
        (S2 Ep1)              S2E1/0
        S.02 Ep.002           S2E2/0
        S01 Ep52              S1E52/0
        (S4 Ep 7)             S4E7/0
        (S1, ep 2)            S1E2/0
        (S8, Ep2)             S8E2/0
        (S4 Ep22/24)          S4E22/24
        23/27.                S0E23/27
If you see any other format used in the EPG, let me know!
 

ian_j

Member
The TVDB isn't bringing over all of the episodes for Talking Comedy:

There are 10 on TheTVDB.com but only 8 on the Humax.
 

ian_j

Member
Just found a repeatable way to crash the box using TVDB

We record "Four in a Bed" every day (five episodes a day) I manually run "De-duplicate /tidy this folder" as it never 100% gets the files.

Today it got 3 out of 5 correct so I click on the 1st incorrect file to manually select it, but without fail every time I select the correct file from the list the box locks up, so far tried 3 times with Firefox & Chrome.

Afraid to try any more in case I damage the hard drive by powering down using the mains switch.
 

mergwyn

New Member
I've been using the TVDB integration for a many years and this week it has stopped working. When I try to "select series" in the browser I get a very brief message:"
Searching TheTVDB.com database, please wait...
before
No matches found

This happens for programmes that I know to be in the TVDB database (eg "Dublin Murders"), and which I have previously seen working!

So far I have:
  • run the tvdbreset diagnostic (and deleted the contents of /mod/var/tvdb for good measure!)
  • checked that I download form tvdb (telnet + wget using the api key in the tvdb.class)
  • disabled and enabled tvdb integration in settings
  • Ensured settings -> tvdb - Additional diagnostic output is ON (though not sure where this data goes!)
  • check the logs for messages (see below)
before I started making this troubleshooting I had these messages in auto.log:
25/11/2019 04:07:02 - ::sweeper::run: Not a valid address: thetvdb.com:80
25/11/2019 04:07:02 - /mod/webif/lib/tvdb.class:55 @


Now I have this:
25/11/2019 18:59:02 - ::sweeper::run: no such table: series
25/11/2019 18:59:02 - /mod/webif/lib/tvdb.class:171 @


I'm at a loss to know what has happened to my system, so any pointers/help would be gratefully received!
 

MymsMan

Ad detector
I have also noticed this but haven't had a chance to investigate or report it.
I did visit theTVDB website and saw the series I was looking for were still listed so perhaps the API has changed or is broken.
 

fenlander

Active Member
Apparently TVDB have switched their API to 'version 3'. This has broken a number of applications that scrape data from TVDB. I use EMDB (a KODI-like front end for video collections) and it has only today received an update after a week or more of total incompatibility with the new API.

It's not the first time TVDB have done something like this.
 

/df

Active Member
From a quick scan the code in /mod/webif/lib/tvdb.class doesn't implement what the site's current API page describes (in particular, using the API key to generate a session token).
 

mergwyn

New Member
I know that TVDB is having problems, but I am still not sure yet that this is implicated in the failure to get any matches at all. (Please bear with me as I am not that familiar with Jim and coding!)

I've been inspecting the code in /mod/webif/html/browse/tvdb/search.jim and the initial error I am getting seems to be at the point of searching for a series. This calls searchseries where it seems to try to build a command similar to wget thetvdb.com/api/GetSeries.php?seriesname="Dublin Murders". When I run this command from the command line it returns what looks like correctly formatted xml, yet I still get the No matches found. error. The XML returned is:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<Data>
  <Series>
    <seriesid>356935</seriesid>
    <language>en</language>
    <SeriesName>Dublin Murders</SeriesName>
    <banner>/banners/posters/5da7abd720e48.jpg</banner>
    <Overview>Two detectives are dispatched to investigate the murder of a young girl on the outskirts of Dublin, but as the case of the missing children intensifies, both are forced to confront the darkness that lies in their past.</Overview>
    <FirstAired>2019-10-14</FirstAired>
    <IMDB_ID/>
    <zap2it_id/>
    <AliasNames/>
    <id>356935</id>
  </Series>
</Data>
 

/df

Active Member
HTTP GET to tvdb.com:80 is redirecting to https, which wget can manage but tvdb::_fetch doesn't understand.

You can replace the method tvdb::_fetch in /mod/webif/lib/tvdb.class as follows (or rewrite wget in Jim TCL, if you'd rather), and this makes the Select Series button do something, but the folder display doesn't change afterwards:
Code:
tvdb method _fetch {url} {                                             
        set cmd {wget -q -4 -O-}
        lappend cmd ${::tvdb::mirror}$url
        set ret [exec {*}$cmd]
        return $ret                                                  
}
The webif-error.log says:
Code:
/mod/webif/lib/tvdb.class:159: Error: no such table: series
in procedure 'tvdb' called at file "/mod/webif/html/browse/tvdb/store.jim", line 22
in procedure '<reference.<tvdb___>.00000000000000000000>' called at file "/mod/webif/lib/tvdb.class", line 371
in procedure 'tvdb loadseries' called at file "/mod/lib/jim/oo.tcl", line 52
at file "/mod/lib/jim/oo.tcl", line 73
at file "/mod/webif/lib/tvdb.class", line 159
You'd also need to change the API key processing if the site is enforcing the V3 protocol, but that doesn't seem to be what the message above is saying.
 

MymsMan

Ad detector
Do you wanna decrypt that?
It means that rather than posting diff files for suggested changes users could provide updates directly to the source code on the library system which @af123 could choose to incorporate into the shipped packages. It would save a bit of work and make it easier to track multiple updates.
 

Black Hole

May contain traces of nut
Is that apropos? Doesn't seem to apply here (so far). Also, posting diffs gives interested parties an opportunity to review suggestions and test them ahead of AF having to take action (and would be a lot easier if the diff tool worked properly).
 
OP
af123

af123

Administrator
Staff member
Is that apropos? Doesn't seem to apply here (so far). Also, posting diffs gives interested parties an opportunity to review suggestions and test them ahead of AF having to take action (and would be a lot easier if the diff tool worked properly).
It would really help me (and probably everyone else) if people did use github pull requests, and it's much easier to review, comment etc. as that's exactly what they are for.
It's also really easy to download a patch from a pull request.

HTTP GET to tvdb.com:80 is redirecting to https, which wget can manage but tvdb::_fetch doesn't understand.
Aha, great - I can work with that, thanks.
Jim 0.79 has been released so I was planning an upgrade anyway, and I might as well enable ssl support along the way, which will make it easier to fix the thetvdb integration.
 
OP
af123

af123

Administrator
Staff member
webif beta 1.4.7 should restore thetvdb integration.
I used /df's idea of just calling out to wget for the downloads. Other changes were needed because both the zip and xml format in the downloads had changed, and the location of some images. Fun and games.
 

mergwyn

New Member
Thanks for addressing this so promptly! I've installed 1.4.7 and it worked on everything part from "First Dates" and "QI". In both cases, from the browser tvdb:
  • Is able to find the series, and allows you to choose it;
  • Does not print the message below
Code:
You can optionally force a particular series number for this folder.
This is useful when the broadcasters do not set good synopses or
if episode names are re-used across series. Leave it set to zero
if you do not wish to do this.
I can't find any errors in the logs.
 
Top