All pastes #261685 Raw Edit

Untitled

public text v1 · immutable
#261685 ·published 2006-11-29 19:52 UTC
rendered paste body
diff --git a/mythtv/libs/libmythtv/eitfixup.cpp b/mythtv/libs/libmythtv/eitfixup.cpp
index 5503e54..a40fccd 100644
--- a/mythtv/libs/libmythtv/eitfixup.cpp
+++ b/mythtv/libs/libmythtv/eitfixup.cpp
@@ -48,6 +48,7 @@ EITFixUp::EITFixUp()
       m_mcaActorsSeparator("(,\\s+)"),
       m_mcaYear("(.*) \\((\\d{4})\\)\\s*$"),
       m_mcaCC("(.*)\\. HI Subtitles$"),
+      m_RTLRerun("Wiederholung\\s.+(\\w+,)?\\s(\\d{2}):(\\d{2})\\sUhr"),
       m_RTLSubtitle("([^\\.]+)\\.\\s+(.+)")
 {
 }
@@ -740,14 +741,25 @@ void EITFixUp::FixRTL(DBEvent &event) co
     const uint SUBTITLE_PCT = 35; //% of description to allow subtitle up to
     const uint SUBTITLE_MAX_LEN = 128; // max length of subtitle field in db.
     int        position;
-    QRegExp    tmpExp1;
 
     // No need to continue without a description.
     if (event.description.length() <= 0)
     {
         return;
     }
+
+    // Extract rerun information and find easily subtitle
+    QRegExp tmpExp1 = m_RTLRerun;
+    if ((position = tmpExp1.search(event.description)) != -1)
+    {
+        //XXX: todo parse original airdate from captured text
+        event.originalairdate = event.starttime.date(); // today
+        event.subtitle        = event.description.left(position);
+        event.description     = event.description.right(position + tmpExp1.cap(0).length());
+    }
     // Try to find subtitle in description
+    else
+    {
     tmpExp1 = m_RTLSubtitle;
     if ((position = tmpExp1.search(event.description)) != -1)
     {
@@ -759,4 +771,5 @@ void EITFixUp::FixRTL(DBEvent &event) co
             event.description = tmpExp1.cap(2);
         }
     }
+    }
 }
diff --git a/mythtv/libs/libmythtv/eitfixup.h b/mythtv/libs/libmythtv/eitfixup.h
index a4ac7bf..a8f8046 100644
--- a/mythtv/libs/libmythtv/eitfixup.h
+++ b/mythtv/libs/libmythtv/eitfixup.h
@@ -94,6 +94,7 @@ class EITFixUp
     const QRegExp m_mcaActorsSeparator;
     const QRegExp m_mcaYear;
     const QRegExp m_mcaCC;
+    const QRegExp m_RTLRerun;
     const QRegExp m_RTLSubtitle;
 };