From 457c40aed6171abbb663c00d1fc6cdd9aaa80727 Mon Sep 17 00:00:00 2001
From: Karl Dietz <dekarl@mythtv.org>
Date: Sat, 21 Nov 2015 01:07:15 +0100
Subject: [PATCH 4/4] unbreak credits/year fixup for Sky Germany
---
mythtv/libs/libmythtv/eitfixup.cpp | 10 +++++-----
mythtv/libs/libmythtv/test/test_eitfixups/test_eitfixups.cpp | 12 +++++++-----
2 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/mythtv/libs/libmythtv/eitfixup.cpp b/mythtv/libs/libmythtv/eitfixup.cpp
index 14b27e0..3c7eef3 100644
a
|
b
|
EITFixUp::EITFixUp() |
137 | 137 | m_RTLEpisodeNo2("^(\\d{1,2}\\/[IVX]+)\\.*\\s*"), |
138 | 138 | m_fiRerun("\\ ?Uusinta[a-zA-Z\\ ]*\\.?"), |
139 | 139 | m_fiRerun2("\\([Uu]\\)"), |
140 | | m_dePremiereInfos("([^.]+)?\\s?([0-9]{4})\\.\\s[0-9]+\\sMin\\.(?:\\sVon" |
| 140 | m_dePremiereInfos("\\s*[0-9]+\\sMin\\.([^.]+)?\\s?([0-9]{4})\\.(?:\\sVon" |
141 | 141 | "\\s([^,]+)(?:,|\\su\\.\\sa\\.)\\smit\\s(.+)\\.)?"), |
142 | 142 | m_dePremiereOTitle("\\s*\\(([^\\)]*)\\)$"), |
143 | 143 | m_deSkyDescriptionSeasonEpisode("^(\\d{1,2}).\\sStaffel,\\sFolge\\s(\\d{1,2}):\\s"), |
… |
… |
void EITFixUp::FixPremiere(DBEventEIT &event) const |
1751 | 1751 | QRegExp tmpInfos = m_dePremiereInfos; |
1752 | 1752 | if (tmpInfos.indexIn(event.description) != -1) |
1753 | 1753 | { |
1754 | | country = tmpInfos.cap(1).trimmed(); |
| 1754 | country = tmpInfos.cap(2).trimmed(); |
1755 | 1755 | bool ok; |
1756 | | uint y = tmpInfos.cap(2).toUInt(&ok); |
| 1756 | uint y = tmpInfos.cap(1).toUInt(&ok); |
1757 | 1757 | if (ok) |
1758 | 1758 | event.airdate = y; |
1759 | 1759 | event.AddPerson(DBPerson::kDirector, tmpInfos.cap(3)); |
… |
… |
void EITFixUp::FixPremiere(DBEventEIT &event) const |
1762 | 1762 | QStringList::const_iterator it = actors.begin(); |
1763 | 1763 | for (; it != actors.end(); ++it) |
1764 | 1764 | event.AddPerson(DBPerson::kActor, *it); |
1765 | | event.description = event.description.replace(tmpInfos.cap(0), ""); |
| 1765 | event.description = event.description.replace(tmpInfos, ""); |
1766 | 1766 | } |
1767 | 1767 | |
1768 | 1768 | // move the original titel from the title to subtitle |
… |
… |
void EITFixUp::FixPremiere(DBEventEIT &event) const |
1770 | 1770 | if (tmpOTitle.indexIn(event.title) != -1) |
1771 | 1771 | { |
1772 | 1772 | event.subtitle = QString("%1, %2").arg(tmpOTitle.cap(1)).arg(country); |
1773 | | event.title = event.title.replace(tmpOTitle.cap(0), ""); |
| 1773 | event.title = event.title.replace(tmpOTitle, ""); |
1774 | 1774 | } |
1775 | 1775 | |
1776 | 1776 | // Find infos about season and episode number |
diff --git a/mythtv/libs/libmythtv/test/test_eitfixups/test_eitfixups.cpp b/mythtv/libs/libmythtv/test/test_eitfixups/test_eitfixups.cpp
index 55d2f9d..b09a3fd 100644
a
|
b
|
void TestEITFixups::testSkyEpisodes() |
448 | 448 | PRINT_EVENT(*event); |
449 | 449 | fixup.Fix(*event); |
450 | 450 | PRINT_EVENT(*event); |
451 | | QCOMPARE(event->description, QString("Viele Mitglieder einer christlichen Gemeinde erkranken nach einem Giftanschlag tödlich. Doch die fanatisch GlÀubigen lassen weder polizeiliche, noch Àrztliche Hilfe zu. Don (Rob Morrow) und Charlie (David Krumholtz) gelingt es jedoch durch einen Nebeneingang ins GebÀude zu kommen. Bei ihren Ermittlungen finden sie heraus, dass der AnfÌhrer der Sekte ein BetrÌger war. Auch sein Sohn wusste von den Machenschaften des Vaters. War der Giftanschlag ein Racheakt? 50 Min. USA 2008. Von Leslie Libman, mit Rob Morrow, David Krumholtz, Judd Hirsch. Ab 12 Jahren")); |
| 451 | QCOMPARE(event->description, QString("Viele Mitglieder einer christlichen Gemeinde erkranken nach einem Giftanschlag tödlich. Doch die fanatisch GlÀubigen lassen weder polizeiliche, noch Àrztliche Hilfe zu. Don (Rob Morrow) und Charlie (David Krumholtz) gelingt es jedoch durch einen Nebeneingang ins GebÀude zu kommen. Bei ihren Ermittlungen finden sie heraus, dass der AnfÌhrer der Sekte ein BetrÌger war. Auch sein Sohn wusste von den Machenschaften des Vaters. War der Giftanschlag ein Racheakt? Ab 12 Jahren")); |
452 | 452 | QCOMPARE(event->season, 4u); |
453 | 453 | QCOMPARE(event->episode, 16u); |
| 454 | /* FixPremiere should scrape the credits, too! */ |
| 455 | QVERIFY(event->HasCredits()); |
454 | 456 | |
455 | 457 | DBEventEIT *event2 = SimpleDBEventEIT (EITFixUp::kFixPremiere, |
456 | 458 | "Titel", |
457 | 459 | "Subtitle", |
458 | 460 | "Washington, 1971: Vor dem Obersten Gerichtshof wird ÃŒber die Kriegsdienstverweigerung von Box-Ikone Cassius Clay aka Muhammad Ali verhandelt. WÀhrend drauÃen Tausende gegen den Vietnamkrieg protestieren, verteidigen acht weiÃe, alte Bundesrichter unter dem Vorsitzenden Warren Burger (Frank Langella) die harte Linie der Regierung Nixon. Doch Kevin Connolly (Benjamin Walker), ein idealistischer junger Mitarbeiter von Richter Harlan (Christopher Plummer), gibt nicht auf. - Muhammad Alis Kiegsdienst-Verweigerungsprozess, als Mix aus Kammerspiel und Archivaufnahmen starbesetzt verfilmt. 94 Min. USA 2012. Von Stephen Frears, mit Danny Glover, Barry Levinson, Bob Balaban. Ab 12 Jahren"); |
459 | | QCOMPARE(event2->season, 0u); |
460 | | QCOMPARE(event2->episode, 0u); |
461 | 461 | |
462 | 462 | PRINT_EVENT(*event2); |
463 | 463 | fixup.Fix(*event2); |
464 | 464 | PRINT_EVENT(*event2); |
465 | | QCOMPARE(event2->description, QString("Washington, 1971: Vor dem Obersten Gerichtshof wird ÃŒber die Kriegsdienstverweigerung von Box-Ikone Cassius Clay aka Muhammad Ali verhandelt. WÀhrend drauÃen Tausende gegen den Vietnamkrieg protestieren, verteidigen acht weiÃe, alte Bundesrichter unter dem Vorsitzenden Warren Burger (Frank Langella) die harte Linie der Regierung Nixon. Doch Kevin Connolly (Benjamin Walker), ein idealistischer junger Mitarbeiter von Richter Harlan (Christopher Plummer), gibt nicht auf. - Muhammad Alis Kiegsdienst-Verweigerungsprozess, als Mix aus Kammerspiel und Archivaufnahmen starbesetzt verfilmt. 94 Min. USA 2012. Von Stephen Frears, mit Danny Glover, Barry Levinson, Bob Balaban. Ab 12 Jahren")); |
| 465 | QCOMPARE(event2->description, QString("Washington, 1971: Vor dem Obersten Gerichtshof wird ÃŒber die Kriegsdienstverweigerung von Box-Ikone Cassius Clay aka Muhammad Ali verhandelt. WÀhrend drauÃen Tausende gegen den Vietnamkrieg protestieren, verteidigen acht weiÃe, alte Bundesrichter unter dem Vorsitzenden Warren Burger (Frank Langella) die harte Linie der Regierung Nixon. Doch Kevin Connolly (Benjamin Walker), ein idealistischer junger Mitarbeiter von Richter Harlan (Christopher Plummer), gibt nicht auf. - Muhammad Alis Kiegsdienst-Verweigerungsprozess, als Mix aus Kammerspiel und Archivaufnahmen starbesetzt verfilmt. Ab 12 Jahren")); |
| 466 | QCOMPARE(event2->season, 0u); |
| 467 | QCOMPARE(event2->episode, 0u); |
466 | 468 | |
467 | 469 | DBEventEIT *event3 = SimpleDBEventEIT (EITFixUp::kFixPremiere, |
468 | 470 | "Titel", |
… |
… |
void TestEITFixups::testSkyEpisodes() |
472 | 474 | PRINT_EVENT(*event3); |
473 | 475 | fixup.Fix(*event3); |
474 | 476 | PRINT_EVENT(*event3); |
475 | | QCOMPARE(event3->description, QString("50 Min. USA 2008. Von Leslie Libman, mit Rob Morrow, David Krumholtz, Judd Hirsch. Ab 12 Jahren")); |
| 477 | QCOMPARE(event3->description, QString("Ab 12 Jahren")); |
476 | 478 | QCOMPARE(event3->season, 0u); |
477 | 479 | QCOMPARE(event3->episode, 0u); |
478 | 480 | } |