Skip to content

Commit dad2b56

Browse files
committed
Reordered Program fields to match original Perl output order
1 parent 8710a1f commit dad2b56

File tree

2 files changed

+34
-34
lines changed

2 files changed

+34
-34
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ I also *somewhat* maintain a version of the original in the [historical-perl bra
1212

1313
# (2025-08-07)
1414

15+
* Reordered Program fields to match original Perl script output
1516
* `--postalCode` not required as long as Country and lineup Id correct except Over the Air
1617
* Moved `<date>` above `<category>` to match original Perl output. Corrected where Movie Release Year is properly displayed.
1718
* Added `<length>` tag.

src/xmltv.ts

Lines changed: 33 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -144,34 +144,16 @@ if (event.program.releaseYear) {
144144
`;
145145
}
146146

147-
148-
if (event.rating) {
149-
xml += ` <rating system="MPAA"><value>${escapeXml(
150-
event.rating,
151-
)}</value></rating>\n`;
152-
}
153-
154-
if (isNew) xml += ` <new />\n`;
155-
if (isLive) xml += ` <live />\n`;
156-
if (event.flag?.includes("Premiere")) xml += ` <premiere />\n`;
157-
if (event.flag?.includes("Finale")) xml += ` <last-chance />\n`;
158-
159-
if (!isNew && !isLive && event.program.id && matchesPreviouslyShownPattern(event.program.id)) {
160-
xml += ` <previously-shown`;
161-
if (event.program.originalAirDate) {
162-
const date = convOAD(event.program.originalAirDate);
163-
xml += ` start="${date}000000"`;
164-
}
165-
xml += ` />\n`;
147+
if (event.thumbnail) {
148+
const src = event.thumbnail.startsWith("http")
149+
? event.thumbnail
150+
: "https://zap2it.tmsimg.com/assets/" + event.thumbnail + ".jpg";
151+
xml += ` <icon src="${escapeXml(src)}" />\n`;
166152
}
167153

168-
if (event.tags && event.tags.length > 0) {
169-
if (event.tags.includes("Stereo")) {
170-
xml += ` <audio type="stereo" />\n`;
171-
}
172-
if (event.tags.includes("CC")) {
173-
xml += ` <subtitles type="teletext" />\n`;
174-
}
154+
if (event.program.seriesId && event.program.tmsId) {
155+
const encodedUrl = `https://tvlistings.gracenote.com//overview.html?programSeriesId=${event.program.seriesId}&amp;tmsId=${event.program.tmsId}`;
156+
xml += ` <url>${encodedUrl}</url>\n`;
175157
}
176158

177159
const skipXmltvNs = genreSet.has("movie") || genreSet.has("sports");
@@ -263,16 +245,33 @@ if (event.program.releaseYear) {
263245
}
264246
}
265247

266-
if (event.program.seriesId && event.program.tmsId) {
267-
const encodedUrl = `https://tvlistings.gracenote.com//overview.html?programSeriesId=${event.program.seriesId}&amp;tmsId=${event.program.tmsId}`;
268-
xml += ` <url>${encodedUrl}</url>\n`;
248+
if (isNew) xml += ` <new />\n`;
249+
if (isLive) xml += ` <live />\n`;
250+
if (event.flag?.includes("Premiere")) xml += ` <premiere />\n`;
251+
if (event.flag?.includes("Finale")) xml += ` <last-chance />\n`;
252+
253+
if (!isNew && !isLive && event.program.id && matchesPreviouslyShownPattern(event.program.id)) {
254+
xml += ` <previously-shown`;
255+
if (event.program.originalAirDate) {
256+
const date = convOAD(event.program.originalAirDate);
257+
xml += ` start="${date}000000"`;
258+
}
259+
xml += ` />\n`;
269260
}
270261

271-
if (event.thumbnail) {
272-
const src = event.thumbnail.startsWith("http")
273-
? event.thumbnail
274-
: "https://zap2it.tmsimg.com/assets/" + event.thumbnail + ".jpg";
275-
xml += ` <icon src="${escapeXml(src)}" />\n`;
262+
if (event.tags && event.tags.length > 0) {
263+
if (event.tags.includes("Stereo")) {
264+
xml += ` <audio type="stereo" />\n`;
265+
}
266+
if (event.tags.includes("CC")) {
267+
xml += ` <subtitles type="teletext" />\n`;
268+
}
269+
}
270+
271+
if (event.rating) {
272+
xml += ` <rating system="MPAA"><value>${escapeXml(
273+
event.rating,
274+
)}</value></rating>\n`;
276275
}
277276

278277
xml += " </programme>\n";

0 commit comments

Comments
 (0)