rendered paste bodydiff --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;
};