char *comment; ///< Channel comment (EPG)
int64_t lcn; ///< Channel number (split)
+ time_t laststamp;///< Last update timestamp
+
int only_one; ///< Map to only one channel (auto)
idnode_list_head_t channels; ///< Mapped channels (1 = epggrab channel, 2 = channel)
} epggrab_channel_t;
.get = epggrab_channel_class_path_get,
.opts = PO_RDONLY | PO_NOSAVE,
},
+ {
+ .type = PT_TIME,
+ .id = "updated",
+ .name = N_("Updated"),
+ .off = offsetof(epggrab_channel_t, laststamp),
+ .opts = PO_RDONLY | PO_NOSAVE,
+ },
{
.type = PT_STR,
.id = "id",
HTSMSG_FOREACH(f, tags) {
if (strcmp(f->hmf_name, "broadcast") == 0) {
+ ec->laststamp = dispatch_clock;
LIST_FOREACH(ilm, &ec->channels, ilm_in2_link)
save |= _pyepg_parse_broadcast(mod, htsmsg_get_map_by_field(f),
(channel_t *)ilm->ilm_in2, stats);
if(stop <= start || stop <= dispatch_clock) return 0;
+ ec->laststamp = dispatch_clock;
LIST_FOREACH(ilm, &ec->channels, ilm_in2_link)
save |= _xmltv_parse_programme_tags(mod, (channel_t *)ilm->ilm_in2, tags,
start, stop, icon, stats);
if((id = htsmsg_get_str(attribs, "id")) == NULL) return 0;
if((tags = htsmsg_get_map(body, "tags")) == NULL) return 0;
if((ch = epggrab_channel_find(mod, id, 1, &save)) == NULL) return 0;
+ ch->laststamp = dispatch_clock;
stats->channels.total++;
if (save) stats->channels.created++;