summaryrefslogtreecommitdiff
path: root/themoviedbscraper
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2013-08-30 16:10:51 +0200
committerlouis <louis.braun@gmx.de>2013-08-30 16:10:51 +0200
commitb503c5238ea1593c209d0a9cdfd8bca29efe90c3 (patch)
tree9efa926f72a8491dc8eca22bd119204e1766abb5 /themoviedbscraper
parent2e460f46395dd61931d3dd431a7ad8dd465f1b81 (diff)
downloadvdr-plugin-tvscraper-b503c5238ea1593c209d0a9cdfd8bca29efe90c3.tar.gz
vdr-plugin-tvscraper-b503c5238ea1593c209d0a9cdfd8bca29efe90c3.tar.bz2
Version 0.0.4
Diffstat (limited to 'themoviedbscraper')
-rw-r--r--themoviedbscraper/themoviedbscraper.c27
-rw-r--r--themoviedbscraper/themoviedbscraper.h1
2 files changed, 28 insertions, 0 deletions
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<string, int> 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);