diff options
| author | louis <louis.braun@gmx.de> | 2013-08-30 16:10:51 +0200 |
|---|---|---|
| committer | louis <louis.braun@gmx.de> | 2013-08-30 16:10:51 +0200 |
| commit | b503c5238ea1593c209d0a9cdfd8bca29efe90c3 (patch) | |
| tree | 9efa926f72a8491dc8eca22bd119204e1766abb5 /themoviedbscraper | |
| parent | 2e460f46395dd61931d3dd431a7ad8dd465f1b81 (diff) | |
| download | vdr-plugin-tvscraper-b503c5238ea1593c209d0a9cdfd8bca29efe90c3.tar.gz vdr-plugin-tvscraper-b503c5238ea1593c209d0a9cdfd8bca29efe90c3.tar.bz2 | |
Version 0.0.4
Diffstat (limited to 'themoviedbscraper')
| -rw-r--r-- | themoviedbscraper/themoviedbscraper.c | 27 | ||||
| -rw-r--r-- | themoviedbscraper/themoviedbscraper.h | 1 |
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);
|
