Feature #1277

XMLTV mapping should be done case-insensitive

Added by Guillaume B about 11 years ago. Updated almost 11 years ago.

EPG - Grabbers
Target version:
Start date:
Due date:
% Done:


Estimated time:


My TVHeadend installation didn't automatically match all the channel names from my XMLTV feed to the ones I have scanned on french DVBT.
I think I identfied the problem beiing that the names are not compared in a case insensitive manner.


XMLTV              CHANNEL
M6                 M6       -> OK
FRANCE 2           France 2 -> KO



Updated by Adam Sutton about 11 years ago

  • Tracker changed from Bug to Feature

Moved to feature request as I don't consider it a big per se. Though I completely understand your point and will look into it. I do something similar elsewhere, in fact o think I go further and ignore whitespace as well.



Updated by Guillaume B about 11 years ago

I don't know if simply skipping whitespaces will suffice.

For instance, we have both SD ans HD versions of France 2 here in France, but they obviously follow the same EPG.
Now, a simple strcasecmp() will fail with:

XMLTV              Channel
France 2           France 2 HD -> KO

I don't know what should be the rule for matching channels, maybe remove the "HD" version, or compare with strncasecmp() for the minimal length of all? (actually, no, because "Canal + Sport" would match "Canal +" for instance...; I guess this issue is not simple).

Maybe, for the far future, there could be a heuristic filter that would ask the user to confirm the closest match.


Updated by Adam Sutton about 11 years ago

I only mentioned spaces because its quite common for spaces to be removed from service names to keep them small. HD removal (for comparison) could be added, though generally is a bad idea because it might be a perfect simulcast for you, but that's not always the case for everyone. I would much rather have the XMLTV scripts handle this or let the user manually set those few HD channels post initial detection.

As for heuristics I think that's very unlikely to be implemented in TVH, for several reasons:

1. It's generally doomed to failure, it won't pick everything up and users will still need to manually manage some mappings, worse it may false detect or muddle things up and this might not be obvious.

2. Mapping of channels "should" be an infrequent event and so the addition of a small number of detections from heuristic matching is likely to have negligible effect.

3. There is already a better way of handling this within the XMLTV framework, namely XMLTV lineup files. Though these are not well used at present, they at least represent a sensible way of mapping from DVB services to XMLTV channel IDs. These are not currently supported, but there is a PR to integrate support that I still need to review.



Updated by Walter Purcaro almost 11 years ago

Any news about xmltv lineups support?


Updated by Adam Sutton almost 11 years ago

It never got finished and I've not been able to properly review what is there and pick it up.


Also available in: Atom PDF