From b503c5238ea1593c209d0a9cdfd8bca29efe90c3 Mon Sep 17 00:00:00 2001 From: louis Date: Fri, 30 Aug 2013 16:10:51 +0200 Subject: Version 0.0.4 --- themoviedbscraper/themoviedbscraper.c | 27 +++++++++++++++++++++++++++ themoviedbscraper/themoviedbscraper.h | 1 + 2 files changed, 28 insertions(+) (limited to 'themoviedbscraper') diff --git a/themoviedbscraper/themoviedbscraper.c b/themoviedbscraper/themoviedbscraper.c index 8dd05df..2874030 100644 --- a/themoviedbscraper/themoviedbscraper.c +++ b/themoviedbscraper/themoviedbscraper.c @@ -27,6 +27,10 @@ void cMovieDBScraper::Scrap(const cEvent *event, int recordingID) { if (config.enableDebug) esyslog("tvscraper: scraping movie \"%s\"", movieName.c_str()); int movieID = SearchMovie(movieName); + if ((movieID < 1) && (recordingID > 0)){ + //if recording, do some more sophisticated search + movieID = SearchMovieElaborated(movieName); + } if (movieID < 1) { if (config.enableDebug) esyslog("tvscraper: nothing found for \"%s\"", movieName.c_str()); @@ -116,6 +120,29 @@ int cMovieDBScraper::SearchMovie(string movieName) { return movieID; } +int cMovieDBScraper::SearchMovieElaborated(string movieName) { + int movieID = -1; + //first remove all "-" + string movieNameMod = str_replace("-", " ", movieName); + if (config.enableDebug) + esyslog("tvscraper: scraping movie \"%s\"", movieNameMod.c_str()); + movieID = SearchMovie(movieNameMod); + if (movieID > 0) + return movieID; + + //now remove everything after "-" + movieNameMod = str_cut("-", movieName); + if (movieNameMod.size() > 3) { + if (config.enableDebug) + esyslog("tvscraper: scraping movie \"%s\"", movieNameMod.c_str()); + movieID = SearchMovie(movieNameMod); + } + if (movieID > 0) + return movieID; + + return movieID; +} + cMovieDbMovie *cMovieDBScraper::ReadMovie(int movieID) { stringstream url; url << baseURL << "/movie/" << movieID << "?api_key=" << apiKey << "&language=" << language.c_str(); diff --git a/themoviedbscraper/themoviedbscraper.h b/themoviedbscraper/themoviedbscraper.h index 3560fb5..c6de7b6 100644 --- a/themoviedbscraper/themoviedbscraper.h +++ b/themoviedbscraper/themoviedbscraper.h @@ -19,6 +19,7 @@ private: map cache; bool parseJSON(string jsonString); int SearchMovie(string movieName); + int SearchMovieElaborated(string movieName); cMovieDbMovie *ReadMovie(int movieID); cMovieDbActors *ReadActors(int movieID); void StoreMedia(cMovieDbMovie *movie, cMovieDbActors *actors); -- cgit v1.2.3