Let me elaborate on the methods behind the apparent maddness.
Let me start with a breakdown of the ProgramID
First leading characters:
SH = generic programming, This is when the people who input the guide data are lazy and just want to throw some programming on without doing research. IE.. 3PM episode of SpongeBob Square Pants on Nik.
EP= Episode with data, This is a descriptive ProgramID. The data associated with this program has good guide data which can be looked up as an episode assuming that it is in TheTvDb. This guide data contains an Original Airdate and likely a subtitle.
MV = Movie. Usually this contains an Airdate which signifies the year which the programming was released.
Middle numbers are the Zap2ItId number. This can be referenced to TheTvDb and validated against a Series Title.
End series number is the chronological/release number of the show. This functions as a serial number and is of no use to us for reference to TheTvDb.
So for: EP012137510006
EP = Signifies this is an episode with data
01213751 = actual Zap2ItID
0006 = series number
Breakdown of the TvDbzap2itID: SH01213751
SH = signifies any old generic programming. Generally speaking, TheTvDb should contain a SH prefix. However, sometimes people put a EP in place of the SH.
01213751 = actual Zap2ItID. Generally speaking, this should be the actual Zap2ItId, however sometimes people disregard the leading 0s and this screws up exact matching.
The ProgramID is preferred over the ShowID. The ShowID is genenerally not as accurate with it's MV, SH, EP prefix so it should only be used as a backup.
So, therefore, in order to get a good match on guide data ProgramID to Zap2ItId, the proper methods are:
1. remove chars MV, EP, SH
2. remove leading 0s
3. remove last 4 digits which are series number
ShowId:
1. remove chars MV, EP, SH
2. remove leading 0s
TvDb Zap2ItId:
1. remove chars MV, EP, SH
2. Remove leading 0s
How can this be made to work? This XML is greek to me.
http://trac.xbmc.org/browser/trunk/addon...m/tvdb.xml