From 614a06886e4eb26711e552d101bec7f00436f3dc Mon Sep 17 00:00:00 2001
From: Gary Buhrmaster <gary.buhrmaster@gmail.com>
Date: Sun, 26 Jul 2020 00:24:53 +0000
Subject: [PATCH] utilize schedulesdirect additional metadata if available
With the (real soon now) next release of XMLTV (or the
current master), one of the grabbers for Schedules Direct
data can provide some useful additional metadata such as
originalAirDate. Use that metadata if it is provided by
the grabber (typically per its configuration).
---
.../programs/mythfilldatabase/xmltvparser.cpp | 25 ++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/mythtv/programs/mythfilldatabase/xmltvparser.cpp b/mythtv/programs/mythfilldatabase/xmltvparser.cpp
index 476facfd78..a4fc8782b5 100644
a
|
b
|
bool XMLTVParser::parseFile( |
467 | 467 | { |
468 | 468 | pginfo->m_previouslyshown = true; |
469 | 469 | QString prevdate = xml.attributes().value( "start").toString(); |
470 | | if (!prevdate.isEmpty()) |
| 470 | if ((!prevdate.isEmpty()) && (pginfo->m_originalairdate.isNull())) |
471 | 471 | { |
472 | 472 | QDateTime date; |
473 | 473 | fromXMLTVDate(prevdate, date); |
… |
… |
bool XMLTVParser::parseFile( |
636 | 636 | // ProgInfo does not have a collectionref, so we don't set any |
637 | 637 | } |
638 | 638 | } |
| 639 | else if (system == "schedulesdirect.org") |
| 640 | { |
| 641 | QString details(xml.readElementText(QXmlStreamReader::SkipChildElements)); |
| 642 | if (details.startsWith(QString("originalAirDate/"))) |
| 643 | { |
| 644 | QString value(details.section('/', 1, 1).trimmed()); |
| 645 | QDateTime datetime; |
| 646 | fromXMLTVDate(value, datetime); |
| 647 | pginfo->m_originalairdate = datetime.date(); |
| 648 | } |
| 649 | else if (details.startsWith(QString("newEpisode/"))) |
| 650 | { |
| 651 | QString value(details.section('/', 1, 1).trimmed()); |
| 652 | if (value == QString("true")) |
| 653 | { |
| 654 | pginfo->m_previouslyshown = false; |
| 655 | } |
| 656 | else if (value == QString("false")) |
| 657 | { |
| 658 | pginfo->m_previouslyshown = true; |
| 659 | } |
| 660 | } |
| 661 | } |
639 | 662 | }//episode-num |
640 | 663 | } |
641 | 664 | while (! (xml.isEndElement() && xml.name() == "programme")); |