summaryrefslogtreecommitdiff
path: root/worker.c
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2013-09-02 14:28:24 +0200
committerlouis <louis.braun@gmx.de>2013-09-02 14:28:24 +0200
commitef892c7fd1c07d6f8a9d44330de2e989b24e7407 (patch)
treeb4269cd83c8d16e56e7a6e51fa2df5091fe6ecff /worker.c
parent3c0a62177d4e343991e26d125272a3ee90c99203 (diff)
downloadvdr-plugin-tvscraper-ef892c7fd1c07d6f8a9d44330de2e989b24e7407.tar.gz
vdr-plugin-tvscraper-ef892c7fd1c07d6f8a9d44330de2e989b24e7407.tar.bz2
introduced possibility to ignore titles, set scrap type and substitute search strings manually
Diffstat (limited to 'worker.c')
-rw-r--r--worker.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/worker.c b/worker.c
index 5e3ac49..759e082 100644
--- a/worker.c
+++ b/worker.c
@@ -3,11 +3,12 @@
using namespace std;
-cTVScraperWorker::cTVScraperWorker(cTVScraperDB *db) : cThread("tvscraper", true) {
+cTVScraperWorker::cTVScraperWorker(cTVScraperDB *db, cOverRides *overrides) : cThread("tvscraper", true) {
startLoop = true;
scanVideoDir = false;
manualScan = false;
this->db = db;
+ this->overrides = overrides;
moviedbScraper = NULL;
tvdbScraper = NULL;
initSleep = 2 * 60 * 1000;
@@ -78,6 +79,9 @@ void cTVScraperWorker::SetDirectories(void) {
scrapType cTVScraperWorker::GetScrapType(const cEvent *event) {
scrapType type = scrapNone;
+ type = overrides->Type(event->Title());
+ if (type != scrapNone)
+ return type;
int duration = event->Duration() / 60;
if ((duration > 9) && (duration <= 75)) {
type = scrapSeries;
@@ -89,14 +93,14 @@ scrapType cTVScraperWorker::GetScrapType(const cEvent *event) {
bool cTVScraperWorker::ConnectScrapers(void) {
if (!moviedbScraper) {
- moviedbScraper = new cMovieDBScraper(movieDir, db, language);
+ moviedbScraper = new cMovieDBScraper(movieDir, db, language, overrides);
if (!moviedbScraper->Connect()) {
esyslog("tvscraper: ERROR, connection to TheMovieDB failed");
return false;
}
}
if (!tvdbScraper) {
- tvdbScraper = new cTVDBScraper(seriesDir, db, language);
+ tvdbScraper = new cTVDBScraper(seriesDir, db, language, overrides);
if (!tvdbScraper->Connect()) {
esyslog("tvscraper: ERROR, connection to TheTVDB failed");
return false;
@@ -215,7 +219,7 @@ void cTVScraperWorker::Action(void) {
mutex.Lock();
dsyslog("tvscraper: waiting %d minutes to start main loop", initSleep / 1000 / 60);
waitCondition.TimedWait(mutex, initSleep);
-
+
while (Running()) {
if (scanVideoDir) {
scanVideoDir = false;