@@ -88,40 +88,55 @@ export function buildProgramsXml(data: GridApiResponse): string {
88
88
if ( event . flag . includes ( "New" ) ) {
89
89
xml += ` <new />\n` ;
90
90
}
91
+
92
+ if ( event . flag . includes ( "Live" ) ) {
93
+ xml += ` <live />\n` ;
94
+ }
95
+
96
+ if ( event . flag . includes ( "Premiere" ) ) {
97
+ xml += ` <premiere />\n` ;
98
+ }
99
+
100
+ if ( event . flag . includes ( "Finale" ) ) {
101
+ xml += ` <last-chance />\n` ;
102
+ }
103
+ }
104
+
105
+ if (
106
+ ! event . flag ||
107
+ ( event . flag &&
108
+ event . flag . length > 0 &&
109
+ ! event . flag . includes ( "New" ) &&
110
+ ! event . flag . includes ( "Live" ) )
111
+ ) {
112
+ xml += ` <previously-shown />\n` ;
91
113
}
92
114
93
115
if ( event . tags && event . tags . length > 0 ) {
94
116
if ( event . tags . includes ( "Stereo" ) ) {
95
117
xml += ` <audio type="stereo" />\n` ;
96
118
}
97
119
if ( event . tags . includes ( "CC" ) ) {
98
- xml += ` <audio type="cc " />\n` ;
120
+ xml += ` <subtitles type="teletext " />\n` ;
99
121
}
100
122
}
101
123
102
- if ( event . program . season ) {
103
- xml += ` <episode-num system="season ">${ escapeXml (
104
- event . program . season ,
124
+ if ( event . program . season && event . program . episode ) {
125
+ xml += ` <episode-num system="onscreen ">${ escapeXml (
126
+ `S ${ event . program . season . padStart ( 2 , "0" ) } E ${ event . program . episode . padStart ( 2 , "0" ) } ` ,
105
127
) } </episode-num>\n`;
106
- }
107
128
108
- if ( event . program . episode ) {
109
- xml += ` <episode-num system="episode">${ escapeXml (
110
- event . program . episode ,
129
+ xml += ` <episode-num system="common">${ escapeXml (
130
+ `S${ event . program . season . padStart ( 2 , "0" ) } E${ event . program . episode . padStart ( 2 , "0" ) } ` ,
111
131
) } </episode-num>\n`;
112
- }
113
132
114
- if ( event . program . seriesId ) {
115
- xml += ` <episode-num system="series">${ escapeXml (
116
- event . program . seriesId ,
117
- ) } </episode-num>\n`;
118
- }
133
+ if ( / ..\d { 8 } \d { 4 } / . test ( event . program . id ) ) {
134
+ xml += ` <episode-num system="dd_progid">${ escapeXml ( event . program . id ) } </episode-num>\n` ;
135
+ }
119
136
120
- // S01E01 and S11E22
121
- if ( event . program . season && event . program . episode ) {
122
- xml += ` <episode-num system="onscreen">${ escapeXml (
123
- `S${ event . program . season . padStart ( 2 , "0" ) } E${ event . program . episode . padStart ( 2 , "0" ) } ` ,
124
- ) } </episode-num>\n`;
137
+ xml += ` <episode-num system="xmltv_ns">${ escapeXml (
138
+ `${ event . program . season } . ${ event . program . episode } ` ,
139
+ ) } .</episode-num>\n`;
125
140
}
126
141
127
142
if ( event . thumbnail ) {
0 commit comments