summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY1
-rw-r--r--HISTORY.DE2
-rw-r--r--doc-src/de/epgsearch.1.txt10
-rw-r--r--doc-src/en/epgsearch.1.txt8
-rw-r--r--doc-src/en/epgsearch.4.txt1
-rw-r--r--epgsearchext.c14
-rw-r--r--epgsearchext.h2
-rw-r--r--epgsearchtools.c18
-rw-r--r--epgsearchtools.h6
-rw-r--r--menu_searchedit.c16
-rw-r--r--po/ca_ES.po5
-rw-r--r--po/cs_CZ.po5
-rw-r--r--po/da_DK.po5
-rw-r--r--po/de_DE.po11
-rw-r--r--po/el_GR.po5
-rw-r--r--po/es_ES.po6
-rw-r--r--po/et_EE.po5
-rw-r--r--po/fi_FI.po7
-rw-r--r--po/fr_FR.po6
-rw-r--r--po/hr_HR.po5
-rw-r--r--po/hu_HU.po5
-rwxr-xr-xpo/it_IT.po6
-rw-r--r--po/lt_LT.po6
-rw-r--r--po/nl_NL.po6
-rw-r--r--po/nn_NO.po5
-rw-r--r--po/pl_PL.po5
-rw-r--r--po/pt_PT.po5
-rw-r--r--po/ro_RO.po5
-rw-r--r--po/ru_RU.po5
-rw-r--r--po/sk_SK.po6
-rw-r--r--po/sl_SI.po5
-rw-r--r--po/sv_SE.po5
-rw-r--r--po/tr_TR.po5
-rw-r--r--recdone.c8
-rw-r--r--recdone.h4
35 files changed, 159 insertions, 60 deletions
diff --git a/HISTORY b/HISTORY
index 0e8a260..9a3fb0c 100644
--- a/HISTORY
+++ b/HISTORY
@@ -90,6 +90,7 @@ new:
- epgsearch now also checks the recordings length among the correct start and stop time of a timer
when testing for complete recordings. 98% and more are handled as complete.
- switch timers are now also visible in all search results EPG menus
+- Avoid repeats: in 'compare summary' one can now adjust the required match, default is 90%.
fixes:
- fixed a crash when pressing 'Ok' in an empty timers done menu
diff --git a/HISTORY.DE b/HISTORY.DE
index 7ded036..74d80dd 100644
--- a/HISTORY.DE
+++ b/HISTORY.DE
@@ -94,6 +94,8 @@ neu:
- epgsearch prüft nun neben korrekter Start- und Stopzeit des Timers auch die Aufnahmelänge
bei der Prüfung auf vollständige Aufnahmen. 98% und mehr gelten als vollständig.
- Umschalttimer sind nun ebenfalls in alle EPG-Menüs mit Suchergebnissen sichtbar.
+- Vermeide Wiederholung: Bei 'Vergleiche Beschreibung' kann nun angegeben werden wie hoch
+ die Ãœbereinstimmung sein muss, Default ist 90%.
fixes:
- Absturz beim Drücken von 'Ok' in leerem Menü erledigter Timer behoben
diff --git a/doc-src/de/epgsearch.1.txt b/doc-src/de/epgsearch.1.txt
index 8ce8fac..cffd4b5 100644
--- a/doc-src/de/epgsearch.1.txt
+++ b/doc-src/de/epgsearch.1.txt
@@ -350,9 +350,13 @@ aufgezeichnet werden kann.
Einstellung, ob beim Test, ob eine Sendung identisch ist, auch die
Inhaltsbeschreibung verglichen werden soll. Dabei wird zunächst
alles aus dem Inhalt entfernt, das einer Kategorienangabe
-gleicht. Der verbleibende Text wird dann verglichen. Ist dieser zu
-90% ähnlich (im Sinne des Levinshtein-Distance-Algorithmus) wird er
-als gleich behandelt.
+gleicht. Der verbleibende Text wird dann verglichen. Ist dieser zum
+Prozentsatz der folgenden Option ähnlich (im Sinne des Levinshtein-Distance-Algorithmus)
+wird er als gleich behandelt.
+
+=item - C<Min. Übereinstimmung in %>
+
+Die notwendige Übereinstimmung zweier Beschreibung in %.
=item - B<Vergl. Kategorien>
diff --git a/doc-src/en/epgsearch.1.txt b/doc-src/en/epgsearch.1.txt
index 8929a66..4bdf942 100644
--- a/doc-src/en/epgsearch.1.txt
+++ b/doc-src/en/epgsearch.1.txt
@@ -346,8 +346,12 @@ be compared.
For comparison all parts of the description, that look like a
category value, are removed first. The remaining text will be
-compared. If this is similar at 90% (regarding the
-Levinshtein-Distance algorithm) then it will be accepted as equal.
+compared. If this is similar at the value of the next option
+(regarding the Levinshtein-Distance algorithm) then it will be accepted as equal.
+
+=item - C<Min. match in %:>
+
+The needed minimum match of descriptions in percent.
=item - B<Compare categories:>
diff --git a/doc-src/en/epgsearch.4.txt b/doc-src/en/epgsearch.4.txt
index 9f50c94..7bdfc82 100644
--- a/doc-src/en/epgsearch.4.txt
+++ b/doc-src/en/epgsearch.4.txt
@@ -154,6 +154,7 @@ is B<':'>:
49 - last day where the search timer is active (see parameter 16)
50 - ignore missing EPG categories? 0/1
51 - unmute sound if off when used as switch timer
+ 52 - the minimum required match in percent when descriptions are compared to avoid repeats (-> 33)
A ':' in the search term or the directory entry will be translated in
a '|'. If a '|' exists in the search term, e.g. when using regular
diff --git a/epgsearchext.c b/epgsearchext.c
index ffcbf7a..1ea01ae 100644
--- a/epgsearchext.c
+++ b/epgsearchext.c
@@ -94,6 +94,7 @@ cSearchExt::cSearchExt(void)
compareTitle = 1;
compareSubtitle = 1;
compareSummary = 1;
+ compareSummaryMatchInPercent = 90;
allowedRepeats = 0;
catvaluesAvoidRepeat = 0;
repeatsWithinDays = 0;
@@ -214,6 +215,7 @@ cSearchExt& cSearchExt::operator= (const cSearchExt &SearchExt)
compareTitle = templ->compareTitle;
compareSubtitle = templ->compareSubtitle;
compareSummary = templ->compareSummary;
+ compareSummaryMatchInPercent = templ->compareSummaryMatchInPercent;
allowedRepeats = templ->allowedRepeats;
catvaluesAvoidRepeat = templ->catvaluesAvoidRepeat;
repeatsWithinDays = templ->repeatsWithinDays;
@@ -346,7 +348,7 @@ const char *cSearchExt::ToText()
}
}
- msprintf(&buffer, "%d:%s:%d:%s:%s:%d:%s:%d:%d:%d:%d:%d:%d:%s:%s:%d:%d:%d:%d:%s:%d:%d:%d:%d:%d:%d:%d:%s:%d:%d:%d:%d:%d:%ld:%d:%d:%d:%d:%d:%d:%s:%d:%d:%d:%d:%d:%d:%ld:%ld:%d:%d",
+ msprintf(&buffer, "%d:%s:%d:%s:%s:%d:%s:%d:%d:%d:%d:%d:%d:%s:%s:%d:%d:%d:%d:%s:%d:%d:%d:%d:%d:%d:%d:%s:%d:%d:%d:%d:%d:%ld:%d:%d:%d:%d:%d:%d:%s:%d:%d:%d:%d:%d:%d:%ld:%ld:%d:%d:%d",
ID,
tmp_search,
useTime,
@@ -397,7 +399,8 @@ const char *cSearchExt::ToText()
useAsSearchTimerFrom,
useAsSearchTimerTil,
ignoreMissingEPGCats,
- unmuteSoundOnSwitch);
+ unmuteSoundOnSwitch,
+ compareSummaryMatchInPercent);
if (tmp_search) free(tmp_search);
if (tmp_directory) free(tmp_directory);
@@ -596,6 +599,9 @@ bool cSearchExt::Parse(const char *s)
case 51:
unmuteSoundOnSwitch = atoi(value);
break;
+ case 52:
+ compareSummaryMatchInPercent = atoi(value);
+ break;
} //switch
}
parameter++;
@@ -1133,8 +1139,8 @@ void cSearchExt::CheckRepeatTimers(cSearchResults* pResults)
// check if this event was already recorded
int records = 0;
cRecDone* firstRec = NULL;
- LogFile.Log(3,"get count recordings");
- records = RecsDone.GetCountRecordings(pEvent, this, &firstRec);
+ LogFile.Log(3,"get count recordings with %d%% match", compareSummaryMatchInPercent);
+ records = RecsDone.GetCountRecordings(pEvent, this, &firstRec, compareSummaryMatchInPercent);
LogFile.Log(3,"recordings: %d", records);
if (records > allowedRepeats) // already recorded
diff --git a/epgsearchext.h b/epgsearchext.h
index 7b7e259..968299e 100644
--- a/epgsearchext.h
+++ b/epgsearchext.h
@@ -146,6 +146,7 @@ public:
int compareTitle;
int compareSubtitle;
int compareSummary;
+ int compareSummaryMatchInPercent;
int allowedRepeats;
unsigned long catvaluesAvoidRepeat;
int repeatsWithinDays;
@@ -165,7 +166,6 @@ public:
time_t useAsSearchTimerTil;
int ignoreMissingEPGCats;
int unmuteSoundOnSwitch;
-
bool skipRunningEvents;
static char *buffer;
public:
diff --git a/epgsearchtools.c b/epgsearchtools.c
index 2cc525d..37e69e7 100644
--- a/epgsearchtools.c
+++ b/epgsearchtools.c
@@ -54,8 +54,6 @@ The project's page is at http://winni.vdr-developer.org/epgsearch
const char AllowedChars[] = trNOOP("$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&");
-#define MATCHLIMIT 0.9
-
int CompareEventTime(const void *p1, const void *p2)
{
time_t time1 = (*(cSearchResult **)p1)->event->StartTime();
@@ -78,10 +76,10 @@ int CompareEventChannel(const void *p1, const void *p2)
return ch1 - ch2;
}
-char* IndentMenuItem(const char* szString)
+char* IndentMenuItem(const char* szString, int indentions)
{
char* szIndented = NULL;
- msprintf(&szIndented, " %s", szString);
+ msprintf(&szIndented, "%*s", strlen(szString)+indentions*2, szString);
return szIndented;
}
@@ -643,7 +641,7 @@ double FuzzyMatch(const char* s1, const char* s2, int maxLength)
return (fMaxLength - dist)/fMaxLength;
}
-bool DescriptionMatches(const char* eDescr, const char* rDescr)
+bool DescriptionMatches(const char* eDescr, const char* rDescr, int matchLimit)
{
if (eDescr == NULL && rDescr == NULL) return true;
if (eDescr == NULL && rDescr != NULL) return false;
@@ -653,15 +651,15 @@ bool DescriptionMatches(const char* eDescr, const char* rDescr)
if (l_eDescr == l_rDescr && strcmp(eDescr, rDescr) == 0) return true;
// partial match:
- // first check the length, should only be different at MATCHLIMIT
+ // first check the length, should only be different at match limit
int minLength = min(l_eDescr, l_rDescr);
int maxLength = max(l_eDescr, l_rDescr);
- if (double(minLength)/double(maxLength) < MATCHLIMIT)
+ if (100*double(minLength)/double(maxLength) < matchLimit)
return false;
// last try with Levenshtein Distance, only compare the first 1000 chars
double fMatch = FuzzyMatch(eDescr, rDescr, 1000);
- double tmp_matchlimit = MATCHLIMIT;
+ double tmp_matchlimit = matchLimit/100.0;
if(maxLength - minLength < 5)
{
tmp_matchlimit = 0.95;
@@ -775,7 +773,7 @@ void PrepareTimerFile(const cEvent* event, cTimer* timer)
}
}
-bool EventsMatch(const cEvent* event1, const cEvent* event2, bool compareTitle, int compareSubtitle, bool compareSummary, unsigned long catvaluesAvoidRepeat)
+bool EventsMatch(const cEvent* event1, const cEvent* event2, bool compareTitle, int compareSubtitle, bool compareSummary, unsigned long catvaluesAvoidRepeat, int matchLimit)
{
if (!event1 || !event2) return false;
if (event1 == event2) return true;
@@ -814,7 +812,7 @@ bool EventsMatch(const cEvent* event1, const cEvent* event2, bool compareTitle,
{
char* rawDescr1 = GetRawDescription(Descr1);
char* rawDescr2 = GetRawDescription(Descr2);
- match = DescriptionMatches(rawDescr1, rawDescr2);
+ match = DescriptionMatches(rawDescr1, rawDescr2, matchLimit);
free(rawDescr1);
free(rawDescr2);
if (!match) return false;
diff --git a/epgsearchtools.h b/epgsearchtools.h
index 93f0aff..c1ee276 100644
--- a/epgsearchtools.h
+++ b/epgsearchtools.h
@@ -127,7 +127,7 @@ class cSearchExt;
class cSearchExtCat;
class cEvent;
-char* IndentMenuItem(const char*);
+char* IndentMenuItem(const char*, int indentions=1);
void PatchFont(eDvbFont);
bool MatchesSearchMode(const char* test, const char* values, int searchmode, const char* delim, int tolerance);
char* GetExtEPGValue(const cEvent* e, cSearchExtCat* SearchExtCat);
@@ -162,13 +162,13 @@ bool InEditMode(const char* ItemText, const char* ItemName, const char* ItemValu
cSearchExt* TriggeredFromSearchTimer(const cTimer* timer);
int TriggeredFromSearchTimerID(const cTimer* timer);
double FuzzyMatch(const char* s1, const char* s2, int maxLength);
-bool DescriptionMatches(const char* eDescr, const char* rDescr);
+bool DescriptionMatches(const char* eDescr, const char* rDescr, int matchLimit = 90);
const cEvent* GetEvent(cTimer* timer);
char* GetRawDescription(const char* descr);
void PrepareTimerFile(const cEvent* event, cTimer* timer);
int CompareEventTime(const void *p1, const void *p2);
int CompareEventChannel(const void *p1, const void *p2);
-bool EventsMatch(const cEvent* event1, const cEvent* event2, bool compareTitle, int compareSubtitle, bool compareSummary, unsigned long catvaluesAvoidRepeat);
+bool EventsMatch(const cEvent* event1, const cEvent* event2, bool compareTitle, int compareSubtitle, bool compareSummary, unsigned long catvaluesAvoidRepeat, int matchLimit=90);
int ChannelNrFromEvent(const cEvent* pEvent);
void DelTimer(int index);
char* FixSeparators(char* buffer, char sep);
diff --git a/menu_searchedit.c b/menu_searchedit.c
index 73e4d8d..346dd3c 100644
--- a/menu_searchedit.c
+++ b/menu_searchedit.c
@@ -328,12 +328,14 @@ void cMenuEditSearchExt::Set()
Add(new cMenuEditBoolItem(IndentMenuItem(tr("Avoid repeats")), &data.avoidRepeats, trVDR("no"), trVDR("yes")));
if (data.avoidRepeats)
{
- Add(new cMenuEditIntItem(IndentMenuItem(IndentMenuItem(tr("Allowed repeats"))), &data.allowedRepeats, 0, 99));
+ Add(new cMenuEditIntItem(IndentMenuItem(tr("Allowed repeats"),2), &data.allowedRepeats, 0, 99));
if (data.allowedRepeats > 0)
- Add(new cMenuEditIntItem(IndentMenuItem(IndentMenuItem(tr("Only repeats within ... days"))), &data.repeatsWithinDays, 0, 999));
- Add(new cMenuEditBoolItem(IndentMenuItem(IndentMenuItem(tr("Compare title"))), &data.compareTitle, trVDR("no"), trVDR("yes")));
- Add(new cMenuEditStraItem(IndentMenuItem(IndentMenuItem(tr("Compare subtitle"))), &data.compareSubtitle, 3, CompareSubtitleModes));
- Add(new cMenuEditBoolItem(IndentMenuItem(IndentMenuItem(tr("Compare summary"))), &data.compareSummary, trVDR("no"), trVDR("yes")));
+ Add(new cMenuEditIntItem(IndentMenuItem(tr("Only repeats within ... days"),2), &data.repeatsWithinDays, 0, 999));
+ Add(new cMenuEditBoolItem(IndentMenuItem(tr("Compare title"),2), &data.compareTitle, trVDR("no"), trVDR("yes")));
+ Add(new cMenuEditStraItem(IndentMenuItem(tr("Compare subtitle"),2), &data.compareSubtitle, 3, CompareSubtitleModes));
+ Add(new cMenuEditBoolItem(IndentMenuItem(tr("Compare summary"),2), &data.compareSummary, trVDR("no"), trVDR("yes")));
+ if (data.compareSummary)
+ Add(new cMenuEditIntItem(IndentMenuItem(tr("Min. match in %"),3), &data.compareSummaryMatchInPercent, 1, 100));
// show 'Compare categories' only if we have them
if (SearchExtCats.Count() > 0)
{
@@ -435,6 +437,7 @@ eOSState cMenuEditSearchExt::ProcessKey(eKeys Key)
int iTemp_delAfterDays = data.delAfterDays;
int iTemp_action = data.action;
int iTemp_delMode = data.delMode;
+ int iTemp_compareSummary = data.compareSummary;
eOSState state = cOsdMenu::ProcessKey(Key);
@@ -449,7 +452,8 @@ eOSState cMenuEditSearchExt::ProcessKey(eKeys Key)
iTemp_allowedRepeats != data.allowedRepeats ||
iTemp_delAfterDays != data.delAfterDays ||
iTemp_action != data.action ||
- iTemp_delMode != data.delMode)
+ iTemp_delMode != data.delMode ||
+ iTemp_compareSummary != data.compareSummary)
{
Set();
Display();
diff --git a/po/ca_ES.po b/po/ca_ES.po
index 9608e88..a4868ed 100644
--- a/po/ca_ES.po
+++ b/po/ca_ES.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Jordi Vilà <jvila@tinet.org>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1038,6 +1038,9 @@ msgstr ""
msgid "Compare summary"
msgstr ""
+msgid "Min. match in %"
+msgstr ""
+
msgid "Compare categories"
msgstr ""
diff --git a/po/cs_CZ.po b/po/cs_CZ.po
index 1a126fe..581b462 100644
--- a/po/cs_CZ.po
+++ b/po/cs_CZ.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Vladimír Bárta <vladimir.barta@k2atmitec.cz>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1036,6 +1036,9 @@ msgstr ""
msgid "Compare summary"
msgstr ""
+msgid "Min. match in %"
+msgstr ""
+
msgid "Compare categories"
msgstr ""
diff --git a/po/da_DK.po b/po/da_DK.po
index 41aaf6d..7bf345a 100644
--- a/po/da_DK.po
+++ b/po/da_DK.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1036,6 +1036,9 @@ msgstr ""
msgid "Compare summary"
msgstr ""
+msgid "Min. match in %"
+msgstr ""
+
msgid "Compare categories"
msgstr ""
diff --git a/po/de_DE.po b/po/de_DE.po
index e22810e..f5cec8f 100644
--- a/po/de_DE.po
+++ b/po/de_DE.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Klaus Schmidinger <kls@cadsoft.de>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -499,7 +499,11 @@ msgid ""
"like to have atleast between two mails.\n"
"With '0' you get a new mail after each\n"
"search timer update with new results."
-msgstr "Hier die gewünschte Zeit in [h] zwischen\nzwei Mails angeben. Mit '0' erhält man eine\nneue Mail nach jedem Suchtimer-Update\nmit neuen Ergebnissen."
+msgstr ""
+"Hier die gewünschte Zeit in [h] zwischen\n"
+"zwei Mails angeben. Mit '0' erhält man eine\n"
+"neue Mail nach jedem Suchtimer-Update\n"
+"mit neuen Ergebnissen."
msgid "Timer conflict notification"
msgstr "Timer-Konflikt-Benachrichtigung"
@@ -1080,6 +1084,9 @@ msgstr "Vergleiche Untertitel"
msgid "Compare summary"
msgstr "Vergleiche Beschreibung"
+msgid "Min. match in %"
+msgstr "Min. Übereinstimmung in %"
+
msgid "Compare categories"
msgstr "Vergl. Kategorien"
diff --git a/po/el_GR.po b/po/el_GR.po
index 7b42881..0468eb9 100644
--- a/po/el_GR.po
+++ b/po/el_GR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1036,6 +1036,9 @@ msgstr ""
msgid "Compare summary"
msgstr ""
+msgid "Min. match in %"
+msgstr ""
+
msgid "Compare categories"
msgstr ""
diff --git a/po/es_ES.po b/po/es_ES.po
index b963a7f..5c2c22a 100644
--- a/po/es_ES.po
+++ b/po/es_ES.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-11-18 20:09+0200\n"
"Last-Translator: bittor from open7x0.org <bittor7x0 _at_ gmail.com>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1082,6 +1082,10 @@ msgstr "Comparar subtítulo"
msgid "Compare summary"
msgstr "Comparar resumen"
+#, fuzzy
+msgid "Min. match in %"
+msgstr " Duración mín."
+
msgid "Compare categories"
msgstr "Comparar categorías"
diff --git a/po/et_EE.po b/po/et_EE.po
index 4dc393e..232f5a3 100644
--- a/po/et_EE.po
+++ b/po/et_EE.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1036,6 +1036,9 @@ msgstr ""
msgid "Compare summary"
msgstr ""
+msgid "Min. match in %"
+msgstr ""
+
msgid "Compare categories"
msgstr ""
diff --git a/po/fi_FI.po b/po/fi_FI.po
index ce89afe..e066545 100644
--- a/po/fi_FI.po
+++ b/po/fi_FI.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2009-10-15 20:52+0200\n"
"Last-Translator: Ville Skyttä <ville.skytta@iki.fi>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1088,6 +1088,10 @@ msgstr "Vertaa jakson nimeä"
msgid "Compare summary"
msgstr "Vertaa kuvausta"
+#, fuzzy
+msgid "Min. match in %"
+msgstr " Kestoaika vähintään"
+
msgid "Compare categories"
msgstr "Vertaa kategorioita"
@@ -1239,4 +1243,3 @@ msgstr "%02ldh"
#, c-format
msgid "in %02ldm"
msgstr "%02ldm"
-
diff --git a/po/fr_FR.po b/po/fr_FR.po
index faed434..5e9c87f 100644
--- a/po/fr_FR.po
+++ b/po/fr_FR.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2008-04-30 08:36+0200\n"
"Last-Translator: Patrice Staudt <patrice.staudt@laposte.net>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1076,6 +1076,10 @@ msgstr "Comparer les sous-titres"
msgid "Compare summary"
msgstr "Comparer les descriptions"
+#, fuzzy
+msgid "Min. match in %"
+msgstr " Durée min."
+
msgid "Compare categories"
msgstr "Comparer categories"
diff --git a/po/hr_HR.po b/po/hr_HR.po
index 52cc1f9..60083b9 100644
--- a/po/hr_HR.po
+++ b/po/hr_HR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Drazen Dupor <drazen.dupor@dupor.com>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1037,6 +1037,9 @@ msgstr ""
msgid "Compare summary"
msgstr ""
+msgid "Min. match in %"
+msgstr ""
+
msgid "Compare categories"
msgstr ""
diff --git a/po/hu_HU.po b/po/hu_HU.po
index 84a7d79..7a07b86 100644
--- a/po/hu_HU.po
+++ b/po/hu_HU.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Istvan Koenigsberger <istvnko@hotmail.com>, Guido Josten <guido.josten@t-online.de>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1036,6 +1036,9 @@ msgstr ""
msgid "Compare summary"
msgstr ""
+msgid "Min. match in %"
+msgstr ""
+
msgid "Compare categories"
msgstr ""
diff --git a/po/it_IT.po b/po/it_IT.po
index 5972d41..447770e 100755
--- a/po/it_IT.po
+++ b/po/it_IT.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2009-07-15 23:30+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1090,6 +1090,10 @@ msgstr "Confronta sottotitolo"
msgid "Compare summary"
msgstr "Confronta sommario"
+#, fuzzy
+msgid "Min. match in %"
+msgstr " Durata Minima"
+
msgid "Compare categories"
msgstr "Confronta categorie"
diff --git a/po/lt_LT.po b/po/lt_LT.po
index d0dff5a..d0d89da 100644
--- a/po/lt_LT.po
+++ b/po/lt_LT.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.10\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-12-14 19:20+0100\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
"Language-Team: Lietuvių\n"
@@ -1085,6 +1085,10 @@ msgstr "Palyginti aprašą"
msgid "Compare summary"
msgstr "Palyginti santraukÄ…"
+#, fuzzy
+msgid "Min. match in %"
+msgstr " Min. trukmÄ—"
+
msgid "Compare categories"
msgstr "Palyginti kategorijas"
diff --git a/po/nl_NL.po b/po/nl_NL.po
index 59df552..99c705f 100644
--- a/po/nl_NL.po
+++ b/po/nl_NL.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1080,6 +1080,10 @@ msgstr "Vergelijk ondertiteling"
msgid "Compare summary"
msgstr "Vergelijk samenvatting"
+#, fuzzy
+msgid "Min. match in %"
+msgstr " Min. duur"
+
msgid "Compare categories"
msgstr "vergelijk categoriëen"
diff --git a/po/nn_NO.po b/po/nn_NO.po
index f452e35..f950e48 100644
--- a/po/nn_NO.po
+++ b/po/nn_NO.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1036,6 +1036,9 @@ msgstr ""
msgid "Compare summary"
msgstr ""
+msgid "Min. match in %"
+msgstr ""
+
msgid "Compare categories"
msgstr ""
diff --git a/po/pl_PL.po b/po/pl_PL.po
index e7a4ec8..6e3804c 100644
--- a/po/pl_PL.po
+++ b/po/pl_PL.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1036,6 +1036,9 @@ msgstr ""
msgid "Compare summary"
msgstr ""
+msgid "Min. match in %"
+msgstr ""
+
msgid "Compare categories"
msgstr ""
diff --git a/po/pt_PT.po b/po/pt_PT.po
index 409753f..5ccd36a 100644
--- a/po/pt_PT.po
+++ b/po/pt_PT.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Paulo Lopes <pmml@netvita.pt>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1035,6 +1035,9 @@ msgstr ""
msgid "Compare summary"
msgstr ""
+msgid "Min. match in %"
+msgstr ""
+
msgid "Compare categories"
msgstr ""
diff --git a/po/ro_RO.po b/po/ro_RO.po
index 2fac54c..05c3c40 100644
--- a/po/ro_RO.po
+++ b/po/ro_RO.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1036,6 +1036,9 @@ msgstr ""
msgid "Compare summary"
msgstr ""
+msgid "Min. match in %"
+msgstr ""
+
msgid "Compare categories"
msgstr ""
diff --git a/po/ru_RU.po b/po/ru_RU.po
index cea92ac..de9df38 100644
--- a/po/ru_RU.po
+++ b/po/ru_RU.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Vyacheslav Dikonov <sdiconov@mail.ru>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1035,6 +1035,9 @@ msgstr ""
msgid "Compare summary"
msgstr ""
+msgid "Min. match in %"
+msgstr ""
+
msgid "Compare categories"
msgstr ""
diff --git a/po/sk_SK.po b/po/sk_SK.po
index e073485..69eb8cb 100644
--- a/po/sk_SK.po
+++ b/po/sk_SK.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: epgsearch\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-11-02 18:44+0100\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2009-11-02 09:40+0100\n"
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
"Language-Team: SLovak <hrala.milan@gmail.com>\n"
@@ -1084,6 +1084,10 @@ msgstr "porovna» titulky"
msgid "Compare summary"
msgstr "porovna» celkovo"
+#, fuzzy
+msgid "Min. match in %"
+msgstr " Min. doba"
+
msgid "Compare categories"
msgstr "porovna» kategórie"
diff --git a/po/sl_SI.po b/po/sl_SI.po
index 6965ffa..3746cbc 100644
--- a/po/sl_SI.po
+++ b/po/sl_SI.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1036,6 +1036,9 @@ msgstr ""
msgid "Compare summary"
msgstr ""
+msgid "Min. match in %"
+msgstr ""
+
msgid "Compare categories"
msgstr ""
diff --git a/po/sv_SE.po b/po/sv_SE.po
index 851ee32..45e92c7 100644
--- a/po/sv_SE.po
+++ b/po/sv_SE.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Tomas Prybil <tomas@prybil.se>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1036,6 +1036,9 @@ msgstr ""
msgid "Compare summary"
msgstr ""
+msgid "Min. match in %"
+msgstr ""
+
msgid "Compare categories"
msgstr ""
diff --git a/po/tr_TR.po b/po/tr_TR.po
index a9f302e..9824392 100644
--- a/po/tr_TR.po
+++ b/po/tr_TR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <cwieninger@gmx.de>\n"
-"POT-Creation-Date: 2009-09-21 19:28+0200\n"
+"POT-Creation-Date: 2010-02-10 20:29+0100\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n"
"Language-Team: <vdr@linuxtv.org>\n"
@@ -1035,6 +1035,9 @@ msgstr ""
msgid "Compare summary"
msgstr ""
+msgid "Min. match in %"
+msgstr ""
+
msgid "Compare categories"
msgstr ""
diff --git a/recdone.c b/recdone.c
index 10e9c15..464b646 100644
--- a/recdone.c
+++ b/recdone.c
@@ -227,12 +227,12 @@ int cRecDone::ChannelNr()
}
// -- cRecsDone -----------------------------------------------------------------
-int cRecsDone::GetCountRecordings(const cEvent* event, cSearchExt* search, cRecDone** first)
+int cRecsDone::GetCountRecordings(const cEvent* event, cSearchExt* search, cRecDone** first, int matchLimit)
{
- return GetCountRecordings(event, search->compareTitle, search->compareSubtitle, search->compareSummary, search->catvaluesAvoidRepeat, first);
+ return GetCountRecordings(event, search->compareTitle, search->compareSubtitle, search->compareSummary, search->catvaluesAvoidRepeat, first, matchLimit);
}
-int cRecsDone::GetCountRecordings(const cEvent* event, bool compareTitle, int compareSubtitle, bool compareSummary, unsigned long catvaluesAvoidRepeat, cRecDone** first)
+int cRecsDone::GetCountRecordings(const cEvent* event, bool compareTitle, int compareSubtitle, bool compareSummary, unsigned long catvaluesAvoidRepeat, cRecDone** first, int matchLimit)
{
if (first)
*first = NULL;
@@ -296,7 +296,7 @@ int cRecsDone::GetCountRecordings(const cEvent* event, bool compareTitle, int co
if ((!compareTitle || rTitle == eTitle) &&
(!compareSubtitle || (rSubtitle == eSubtitle && (compareSubtitle==2 || rSubtitle !=""))) &&
- (!compareSummary || DescriptionMatches(eRawDescr.c_str(), rRawDescr.c_str())))
+ (!compareSummary || DescriptionMatches(eRawDescr.c_str(), rRawDescr.c_str(), matchLimit)))
{
if (catvaluesAvoidRepeat != 0) // check categories
{
diff --git a/recdone.h b/recdone.h
index cd82545..93fe885 100644
--- a/recdone.h
+++ b/recdone.h
@@ -68,8 +68,8 @@ class cRecsDone : public cList<cRecDone>, public cMutex {
cList<cRecDone>::Clear();
}
cRecsDone(void) {}
- int GetCountRecordings(const cEvent* event, cSearchExt* search, cRecDone** first = NULL);
- int GetCountRecordings(const cEvent*, bool compareTitle, int compareSubtitle, bool compareSummary, unsigned long, cRecDone** first = NULL);
+ int GetCountRecordings(const cEvent* event, cSearchExt* search, cRecDone** first = NULL, int matchLimit = 90);
+ int GetCountRecordings(const cEvent*, bool compareTitle, int compareSubtitle, bool compareSummary, unsigned long, cRecDone** first = NULL, int matchLimit = 90);
int GetTotalCountRecordings(cSearchExt* search, cRecDone** first);
void RemoveSearchID(int ID);
bool Load(const char *FileName = NULL);