Implement Service Name Picons (vs Service Reference Picons)
The current picon code uses service references - so frequency, orbital position, etc. - to identify which icon to use on which channel. However, I've found this to be patchy at best, requiring a lot of manual work afterwards to fill the gaps.
There also seems to be a way to use service names, so more like the current channel name approach - but with a standardised way to 'slugify' the channel names, and also to build the icons through the picon process.
More information here:
and sample code used to generate the names here:
#2 Updated by Prof Yaffle about 2 years ago
Yes, something like that. It's more than just lower case, though, as there needs to be that standardised way to handle the special characters - so you mangle/slugify from "BBC Three HD with EXTRA &Bells+ on!!" to "bbcthreehdwithstarextrastarandbellsplus..." or however the translation in the sample code works.
If it's a recognised approach - and I don't know if this really is widely-adopted - then it at least gives a template way to handle it.
#4 Updated by Jaroslav Kysela about 2 years ago
- Status changed from New to Fixed
- % Done changed from 0 to 100
Applied in changeset tvheadend|afa1a3c417831970616421b02387bff917e0f6ef.
#6 Updated by Prof Yaffle about 2 years ago
Thanks for this - it works well once you tweak a couple of options.
One question: the sample code seems to use a-z/0-9, translate &, + and *, and strip any other characters, if I understand it correctly:
name = re.sub('[^a-z0-9]', '', name.replace('&', 'and').replace('+', 'plus').replace('*', 'star').lower())
... but I think your implementation just removes everything except a-z/0-9, does it not? I don't know which is the "correct" way vs just being a different approach. I suppose it depends on whether https://picons.xyz/ is definitive, as that's where the trail begins.
#8 Updated by Jaroslav Kysela about 2 years ago
Okay, found a little copy bug: https://tvheadend.org/projects/tvheadend/repository/revisions/e29df17984c5e743b8a5ff1fc94ef9273b2166d5