]> git.ipfire.org Git - thirdparty/tvheadend.git/commit
xmltv: Parse credits, category, keyword and more age ratings. (#4441)
authorE.Smith <31170571+azlm8t@users.noreply.github.com>
Wed, 20 Sep 2017 01:05:39 +0000 (02:05 +0100)
committerJaroslav Kysela <perex@perex.cz>
Mon, 9 Oct 2017 14:15:05 +0000 (16:15 +0200)
commitdb437039114c62c5973a2c8cba8dca8a497ecb1c
treee068a64004c5374e28dfa3a2f64b36c4dde4fbc6
parent3e7d0215d470843c50eae25689cab5ae5c247820
xmltv: Parse credits, category, keyword and more age ratings. (#4441)

The xmltv provides additional information about programmes such
as keywords ("Zookeeper", "Newscast", "Lion", "Mystery"), and
categories ("Crime drama", "Movie", "Series"). It can also provide
detailed information about actors, writers, editors, composers, etc.

We parse this information and allow it to be searched from the GUI.

We make this configurable since having 20+ actors per movie can
increase memory usage of the server and the clients to which we
send this information.

We also offer an option to append this information on to the
description. This allows people with old clients to see the
information.

We cache this information in to a csv string so users can search
across multiple actors such as "Douglas.*Stallone" to find movies
where both actors starred, rather than searching across each actor
individually.

The category is not currently searchable via regex since I think
that should probably be a search box similar to content type.

We currently only parse and store a few of the credits, viz., actor,
guest, presenter, writer, and director. If people really search for
films based on the composer or editor then we can add it in the future.

This information is stored on the epg_broadcast rather than the
epg_episode since theoretically a programme could have different
information for different showings of the same programme.

For example, my broadcaster shows the same film in the same week but
prefixes the description of some showings with a keyword (such as
"Frightfest") with other film of the same genre to create a pseudo-boxset.
Thus if we ever scrape keywords from EIT we'd probably tag the particular
films with this keyword as a tag on which people could search.

Similarly for credits, a daytime showing of a programme can contain edits
for violence, swearing that are not in the late night showing, thus potentially
changing the cast despite being the same "episode", or perhaps one showing
is dubbed.

We also parse a few more age ratings since a number of programmes
only have "word" ratings rather than age ratings (TV-14 instead of 14).
Also the existing age could underflow since one rating system
uses negative numbers which don't fit in our unsigned byte.

Issue: #4441
src/epg.c
src/epg.h
src/epggrab.h
src/epggrab/module/xmltv.c
src/htsp_server.c
src/lang_str.h