Ticket #12542: 0004-unbreak-credits-year-fixup-for-Sky-Germany.patch

File 0004-unbreak-credits-year-fixup-for-Sky-Germany.patch, 7.2 KB (added by Karl Egly, 4 years ago)
  • mythtv/libs/libmythtv/eitfixup.cpp

    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() 
    137137      m_RTLEpisodeNo2("^(\\d{1,2}\\/[IVX]+)\\.*\\s*"),
    138138      m_fiRerun("\\ ?Uusinta[a-zA-Z\\ ]*\\.?"),
    139139      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"
    141141                        "\\s([^,]+)(?:,|\\su\\.\\sa\\.)\\smit\\s(.+)\\.)?"),
    142142      m_dePremiereOTitle("\\s*\\(([^\\)]*)\\)$"),
    143143      m_deSkyDescriptionSeasonEpisode("^(\\d{1,2}).\\sStaffel,\\sFolge\\s(\\d{1,2}):\\s"),
    void EITFixUp::FixPremiere(DBEventEIT &event) const 
    17511751    QRegExp tmpInfos =  m_dePremiereInfos;
    17521752    if (tmpInfos.indexIn(event.description) != -1)
    17531753    {
    1754         country = tmpInfos.cap(1).trimmed();
     1754        country = tmpInfos.cap(2).trimmed();
    17551755        bool ok;
    1756         uint y = tmpInfos.cap(2).toUInt(&ok);
     1756        uint y = tmpInfos.cap(1).toUInt(&ok);
    17571757        if (ok)
    17581758            event.airdate = y;
    17591759        event.AddPerson(DBPerson::kDirector, tmpInfos.cap(3));
    void EITFixUp::FixPremiere(DBEventEIT &event) const 
    17621762        QStringList::const_iterator it = actors.begin();
    17631763        for (; it != actors.end(); ++it)
    17641764            event.AddPerson(DBPerson::kActor, *it);
    1765         event.description = event.description.replace(tmpInfos.cap(0), "");
     1765        event.description = event.description.replace(tmpInfos, "");
    17661766    }
    17671767
    17681768    // move the original titel from the title to subtitle
    void EITFixUp::FixPremiere(DBEventEIT &event) const 
    17701770    if (tmpOTitle.indexIn(event.title) != -1)
    17711771    {
    17721772        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, "");
    17741774    }
    17751775
    17761776    // Find infos about season and episode number
  • mythtv/libs/libmythtv/test/test_eitfixups/test_eitfixups.cpp

    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() 
    448448    PRINT_EVENT(*event);
    449449    fixup.Fix(*event);
    450450    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"));
    452452    QCOMPARE(event->season,   4u);
    453453    QCOMPARE(event->episode, 16u);
     454    /* FixPremiere should scrape the credits, too! */
     455    QVERIFY(event->HasCredits());
    454456
    455457    DBEventEIT *event2 = SimpleDBEventEIT (EITFixUp::kFixPremiere,
    456458                                         "Titel",
    457459                                         "Subtitle",
    458460                                         "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);
    461461
    462462    PRINT_EVENT(*event2);
    463463    fixup.Fix(*event2);
    464464    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);
    466468
    467469    DBEventEIT *event3 = SimpleDBEventEIT (EITFixUp::kFixPremiere,
    468470                                         "Titel",
    void TestEITFixups::testSkyEpisodes() 
    472474    PRINT_EVENT(*event3);
    473475    fixup.Fix(*event3);
    474476    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"));
    476478    QCOMPARE(event3->season,  0u);
    477479    QCOMPARE(event3->episode, 0u);
    478480}