Updated a couple of TODOs relating to episode number in EPG code.
This commit is contained in:
parent
e8609fc607
commit
9716ac2ba7
2 changed files with 12 additions and 13 deletions
23
src/epg.c
23
src/epg.c
|
@ -112,7 +112,7 @@ static void _epg_event_deserialize ( htsmsg_t *c, epggrab_stats_t *stats )
|
|||
uint32_t e_start = 0;
|
||||
uint32_t e_stop = 0;
|
||||
uint32_t u32;
|
||||
const char *title, *desc;
|
||||
const char *title, *desc, *str;
|
||||
char *uri;
|
||||
int save = 0;
|
||||
|
||||
|
@ -145,8 +145,10 @@ static void _epg_event_deserialize ( htsmsg_t *c, epggrab_stats_t *stats )
|
|||
save |= epg_episode_set_number(ee, u32);
|
||||
if (!htsmsg_get_u32(c, "part", &u32))
|
||||
save |= epg_episode_set_part(ee, u32, 0);
|
||||
// TODO: season number!
|
||||
// TODO: onscreen
|
||||
if (!htsmsg_get_u32(c, "season", &u32))
|
||||
ee->epnum.s_num = u32;
|
||||
if ((str = htsmsg_get_str(c, "epname")))
|
||||
ee->epnum.text = strdup(str);
|
||||
|
||||
/* Set episode */
|
||||
save |= epg_broadcast_set_episode(ebc, ee);
|
||||
|
@ -262,8 +264,6 @@ void epg_init ( void )
|
|||
memset(&stats, 0, sizeof(stats));
|
||||
while ( remain > 4 ) {
|
||||
|
||||
// TODO: would be nice if htsmsg_binary handled this for us!
|
||||
|
||||
/* Get message length */
|
||||
int msglen = (rp[0] << 24) | (rp[1] << 16) | (rp[2] << 8) | rp[3];
|
||||
remain -= 4;
|
||||
|
@ -1149,18 +1149,17 @@ int epg_episode_number_cmp ( epg_episode_num_t *a, epg_episode_num_t *b )
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// WIBNI: this could do with soem proper matching, maybe some form of
|
||||
// fuzzy string match. I did try a few things, but none of them
|
||||
// were very reliable.
|
||||
int epg_episode_fuzzy_match
|
||||
( epg_episode_t *episode, const char *uri, const char *title,
|
||||
const char *summary, const char *description )
|
||||
{
|
||||
// TODO: this is pretty noddy and likely to fail!
|
||||
// hence the reason I don't recommend mixing external grabbers and EIT
|
||||
if ( !episode ) return 0;
|
||||
if ( uri && episode->uri && !strcmp(episode->uri, uri) ) return 1;
|
||||
if ( title && episode->title && (strstr(title, episode->title) || strstr(episode->title, title)) ) return 1;
|
||||
// TODO: could we do fuzzy string matching on the description/summary
|
||||
// : there are a few algorithms that might work, but some early testing
|
||||
// : suggested it wasn't clear cut enough to make sensible decisions.
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1417,8 +1416,8 @@ epg_broadcast_t* epg_broadcast_find_by_time
|
|||
|
||||
epg_broadcast_t *epg_broadcast_find_by_id ( uint64_t id, channel_t *ch )
|
||||
{
|
||||
// TODO: channel left in for now in case I decide to change implementation
|
||||
// to simplify the search!
|
||||
// Note: I have left channel_t param, just in case I decide to change
|
||||
// to use it for shorter search
|
||||
return (epg_broadcast_t*)_epg_object_find_by_id(id);
|
||||
}
|
||||
|
||||
|
|
|
@ -385,7 +385,7 @@ typedef struct epg_query_result {
|
|||
void epg_query_free(epg_query_result_t *eqr);
|
||||
|
||||
/* Sorting */
|
||||
// TODO: comparator function input?
|
||||
// WIBNI: might be useful to have a user defined comparator function
|
||||
void epg_query_sort(epg_query_result_t *eqr);
|
||||
|
||||
/* Query routines */
|
||||
|
|
Loading…
Add table
Reference in a new issue