Ticket #4327: eitfixup7.patch

File eitfixup7.patch, 3.9 KB (added by John {at} Pullan {dot} org, 16 years ago)
  • libs/libmythtv/eitfixup.cpp

     
    1717      m_bellPPVDescriptionEventId("\\([0-9]{5}\\)"),
    1818      m_ukSubtitle("\\[.*S\\]"),
    1919      m_ukThen("\\s*(Then|Followed by) 60 Seconds\\.", false),
    20       m_ukNew("\\s*(Brand New|New)\\s*Series\\s*[:\\.\\-]",false),
     20      m_ukNew("\\s*(Brand New|New)\\s*(Series|Episode)\\s*[:\\.\\-]",false),
    2121      m_ukNew1("^New\\."),
    2222      m_ukT4("^[tT]4:"),
    2323      m_ukEQ("[:\\!\\?]"),
     
    3636      m_ukBBC7rpt("\\[Rptd?[^]]+\\d{1,2}\\.\\d{1,2}[ap]m\\]\\."),
    3737      m_ukCBBC("^CBBC."),
    3838      m_ukCBeebies("^CBeebies."),
    39       m_ukStarring1("star(ring)"),
     39      m_ukStarring1("star(ring|s)"),
    4040      m_ukDoubleDotEnd("\\.\\.+$"),
    4141      m_ukDoubleDotStart("^\\.\\.+"),
    4242      m_ukDotSpaceStart("^\\. "),
     43      m_ukTime("\\d{1,2}[\\.:]\\d{1,2}\\s*(am|pm|)"),
    4344      m_comHemCountry("^(\\(.+\\))?\\s?([^ ]+)\\s([^\\.0-9]+)"
    4445                      "(?:\\sfrån\\s([0-9]{4}))(?:\\smed\\s([^\\.]+))?\\.?"),
    4546      m_comHemDirector("[Rr]egi"),
     
    360361    // BBC 7 [Rpt of ...] case.
    361362    event.description = event.description.remove(m_ukBBC7rpt);
    362363
     364    event.title = event.title.stripWhiteSpace();
     365    event.description = event.description.stripWhiteSpace();
     366
    363367    QRegExp tmp24ep = m_uk24ep;
    364368    if (!event.title.startsWith("CSI:") && !event.title.startsWith("CD:"))
    365369    {
     
    375379                     position1++;
    376380                 event.title = strFull.left(position1);
    377381                 event.description = strFull.mid(position1 + 1);
     382                 event.description = event.description.remove(m_ukNew1);
    378383                 SetUKSubtitle(event);
    379384            }
    380385            if ((position1 = strFull.find(m_ukYear)) != -1)
     
    385390                    event.description = event.title.mid(position1);
    386391                    event.title = event.title.left(position1);
    387392                }
    388             }
     393            } 
    389394        }
    390395        else if ((position1 = tmp24ep.search(event.description)) != -1)
    391396        {
     
    395400                                tmp24ep.cap(0).length() - 2);
    396401            event.description = event.description.remove(tmp24ep.cap(0));
    397402        }
    398         else if (((position1 = event.title.find(m_ukColonHyphen)) != -1) &&
    399             (event.description.find(":") < 0 ))
     403        else if ((position1 = event.description.find(m_ukTime)) == -1)
    400404        {
    401             if ((uint)position1 < SUBTITLE_MAX_LEN)
     405            if (((position1 = event.title.find(m_ukColonHyphen)) != -1) &&
     406                (event.description.find(":") < 0 ))
    402407            {
    403                 event.subtitle = event.title.mid(position1 + 1);
    404                 event.title = event.title.left(position1);
     408                if ((uint)position1 < SUBTITLE_MAX_LEN)
     409                {
     410                    event.subtitle = event.title.mid(position1 + 1);
     411                    event.title = event.title.left(position1);
     412                }
    405413            }
     414            else
     415                SetUKSubtitle(event);
    406416        }
    407         else
    408             SetUKSubtitle(event);
    409417    }
    410418
    411     if (event.subtitle.isEmpty())
     419    if ((event.description.find(m_ukTime) == -1) && (event.subtitle.isEmpty()))
    412420    {
    413421       QStringList strList1 = QStringList::split(".",event.description,TRUE);
    414422       QStringList strList2 = QStringList::split("?",event.description,TRUE);
  • libs/libmythtv/eitfixup.h

     
    103103    const QRegExp m_ukDoubleDotEnd;
    104104    const QRegExp m_ukDoubleDotStart;
    105105    const QRegExp m_ukDotSpaceStart;
     106    const QRegExp m_ukTime;
    106107    const QRegExp m_comHemCountry;
    107108    const QRegExp m_comHemDirector;
    108109    const QRegExp m_comHemActor;