]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
xmltv: Output genres to exported xmltv. (#4266)
authorE.Smith <31170571+azlm8t@users.noreply.github.com>
Sat, 22 Sep 2018 12:04:14 +0000 (13:04 +0100)
committerperexg <perex@perex.cz>
Wed, 26 Sep 2018 15:30:59 +0000 (17:30 +0200)
Based on patch by Iván M. A. posted in issue #4266.

Issue: #4266

src/webui/xmltv.c

index f3e5ca2772b29c41ea75451e9448dfcd09afb216..cf62f061fa64488e223cf82ccbe50ccfaacdb311 100644 (file)
@@ -119,6 +119,8 @@ http_xmltv_programme_one(htsbuf_queue_t *hq, const char *hostpath,
   epg_episode_num_t epnum;
   char start[32], stop[32], ubuf[UUID_HEX_SIZE];
   lang_str_ele_t *lse;
+  epg_genre_t *genre;
+  char buf[64];
 
   if (ebc->title == NULL) return;
   http_xmltv_time(start, ebc->start);
@@ -159,6 +161,15 @@ http_xmltv_programme_one(htsbuf_queue_t *hq, const char *hostpath,
     htsbuf_append_str(hq, "  </credits>\n");
   }
   _http_xmltv_programme_write_string_list(hq, ebc->category, "category");
+  LIST_FOREACH(genre, &ebc->genre, link) {
+    if (genre && genre->code) {
+      if (epg_genre_get_str(genre, 0, 1, buf, sizeof(buf), "en")) {
+        htsbuf_qprintf(hq, "  <category lang=\"en\">");
+        htsbuf_append_and_escape_xml(hq, buf);
+        htsbuf_append_str(hq, "</category>\n");
+      }
+    }
+  }
   _http_xmltv_programme_write_string_list(hq, ebc->keyword, "keyword");
 
   /* We can't use epg_broadcast_epnumber_format since we need a specific