I looked at the xmltv output differences and noticed a few things.
First, here is the other perl script output:
<programme start="20210517053000 -0400" stop="20210517060000 -0400" channel="I2.1.45867.zap2it.com">
<title lang="fr">Les Schtroumpfs</title>
<sub-title lang="fr">Larmes de Schtroumpfs; L'étoffe du temps</sub-title>
<desc lang="fr">Le Grand Schtroumpf crée une substance magique qui permet à une seule rose de devenir aussi odorante que toute une roseraie, mais une petite erreur cause tous les Schtroumpfs dans les alentours de fondre en larmes.</desc>
<category lang="fr">Family</category>
<category lang="fr">Series</category>
<length units="minutes">30</length>
<icon src="https://zap2it.tmsimg.com/assets/p16054575_e_v4_aa.jpg" />
<url>https://tvlistings.zap2it.com//overview.html?programSeriesId=SH00158738&tmsId=EP001587380006</url>
<episode-num system="dd_progid">EP00158738.0006</episode-num>
<previously-shown />
<subtitles type="teletext" />
<rating>
<value>G</value>
</rating>
</programme>
And here the python one for that exact same "french language" tv show:
<programme start="20210517093000 +0000" stop="20210517100000 +0000" channel="45867">
<title lang="en">Les Schtroumpfs</title>
<sub-title lang="en">Larmes de Schtroumpfs; L&apos;étoffe du temps </sub-title>
<desc lang="en">Le Grand Schtroumpf crée une substance magique qui permet à une seule rose de devenir aussi odorante que toute une roseraie, mais une petite erreur cause tous les Schtroumpfs dans les alentours de fondre en larmes.</desc>
<length units="minutes">30</length>
<category>family</category>
<thumbnail>http://zap2it.tmsimg.com/assets/p16054575_e_v4_aa.jpg</thumbnail>
<episode-num system="SxxExx">S03E00</episode-num><episode-num system="dd_progid">EP00158738.0006</episode-num> </programme>
Some of the differences I found:
<title lang="fr"> set to en instead of fr
<sub-title lang="en"> set to en instead of fr
<desc lang="en"> set to en instead of fr
Missing newline before ending </programme>
Missing the <previously-shown />, <subtitles type="teletext" />, <rating>, <url>
Using <thumbnail> instead of <icon src=... (not sure it makes any difference)
Providing a "single" category instead of multiples (honestly I believe the lang="fr" is both wrong and useless):
Since I've migrated to you python solution I noticed that the french accentuated characters stopped working in tvheadend. They end-up being showed as:
Where really all
éèê
... ends-up beingî
oré
...I looked at the xmltv output differences and noticed a few things. First, here is the other perl script output:
And here the python one for that exact same "french language" tv show:
Some of the differences I found:
<title lang="fr">
set toen
instead offr
<sub-title lang="en">
set toen
instead offr
<desc lang="en">
set toen
instead offr
</programme>
<previously-shown />
,<subtitles type="teletext" />
,<rating>
,<url>
<thumbnail>
instead of<icon src=...
(not sure it makes any difference)lang="fr"
is both wrong and useless):