From 271165a4c54d05f0f4dcdea6c50efff012715467 Mon Sep 17 00:00:00 2001 From: Dave Chapman Date: Fri, 8 Mar 2013 21:42:30 +0000 Subject: [PATCH] opentv: hack to include episode/series number processing from description. --- src/epggrab/module/opentv.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/epggrab/module/opentv.c b/src/epggrab/module/opentv.c index e1fd6ee3..0d245d3a 100644 --- a/src/epggrab/module/opentv.c +++ b/src/epggrab/module/opentv.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include "tvheadend.h" #include "dvb/dvb.h" @@ -397,6 +398,25 @@ static int _opentv_parse_event_section save |= epg_episode_set_genre(ee, egl, src); epg_genre_list_destroy(egl); } + if (ev.summary) { + regex_t preg; + regmatch_t match[3]; + + /* Parse Series/Episode + * TODO: HACK: this needs doing properly */ + regcomp(&preg, " *\\(S ?([0-9]+),? Ep? ?([0-9]+)\\)$", + REG_ICASE | REG_EXTENDED); + if (!regexec(&preg, ev.summary, 3, match, 0)) { + epg_episode_num_t en; + memset(&en, 0, sizeof(en)); + if (match[1].rm_so != -1) + en.s_num = atoi(ev.summary + match[1].rm_so); + if (match[2].rm_so != -1) + en.e_num = atoi(ev.summary + match[2].rm_so); + save |= epg_episode_set_epnum(ee, &en, src); + } + regfree(&preg); + } } /* Cleanup */