Skip to content

Commit

Permalink
Fixes #97 Fix scraper source custom scraper
Browse files Browse the repository at this point in the history
  • Loading branch information
Komet committed Mar 22, 2014
1 parent 76ab276 commit e9de919
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 1 deletion.
14 changes: 14 additions & 0 deletions movies/MovieController.cpp
Expand Up @@ -8,6 +8,7 @@
#include "globals/Helper.h"
#include "globals/NameFormatter.h"
#include "globals/Manager.h"
#include "scrapers/CustomMovieScraper.h"
#include "settings/Settings.h"

MovieController::MovieController(Movie *parent) :
Expand Down Expand Up @@ -182,22 +183,33 @@ void MovieController::scraperLoadDone(ScraperInterface *scraper)
}

QList<int> images;
ScraperInterface *sigScraper = scraper;

scraper = (property("isCustomScraper").toBool()) ? CustomMovieScraper::instance()->scraperForInfo(MovieScraperInfos::Backdrop) : sigScraper;
if (infosToLoad().contains(MovieScraperInfos::Backdrop) && (m_forceFanartBackdrop || !scraper->scraperNativelySupports().contains(MovieScraperInfos::Backdrop))) {
images << ImageType::MovieBackdrop;
m_movie->clear(QList<int>() << MovieScraperInfos::Backdrop);
}

scraper = (property("isCustomScraper").toBool()) ? CustomMovieScraper::instance()->scraperForInfo(MovieScraperInfos::Poster) : sigScraper;
if (infosToLoad().contains(MovieScraperInfos::Poster) && (m_forceFanartPoster || !scraper->scraperNativelySupports().contains(MovieScraperInfos::Poster))) {
images << ImageType::MoviePoster;
m_movie->clear(QList<int>() << MovieScraperInfos::Poster);
}

scraper = (property("isCustomScraper").toBool()) ? CustomMovieScraper::instance()->scraperForInfo(MovieScraperInfos::ClearArt) : sigScraper;
if (infosToLoad().contains(MovieScraperInfos::ClearArt) && (m_forceFanartClearArt || !scraper->scraperNativelySupports().contains(MovieScraperInfos::ClearArt))) {
images << ImageType::MovieClearArt;
m_movie->clear(QList<int>() << MovieScraperInfos::ClearArt);
}

scraper = (property("isCustomScraper").toBool()) ? CustomMovieScraper::instance()->scraperForInfo(MovieScraperInfos::CdArt) : sigScraper;
if (infosToLoad().contains(MovieScraperInfos::CdArt) && (m_forceFanartCdArt || !scraper->scraperNativelySupports().contains(MovieScraperInfos::CdArt))) {
images << ImageType::MovieCdArt;
m_movie->clear(QList<int>() << MovieScraperInfos::CdArt);
}

scraper = (property("isCustomScraper").toBool()) ? CustomMovieScraper::instance()->scraperForInfo(MovieScraperInfos::Logo) : sigScraper;
if (infosToLoad().contains(MovieScraperInfos::Logo) && (m_forceFanartLogo || !scraper->scraperNativelySupports().contains(MovieScraperInfos::Logo))) {
images << ImageType::MovieLogo;
m_movie->clear(QList<int>() << MovieScraperInfos::Logo);
Expand Down Expand Up @@ -267,6 +279,8 @@ void MovieController::onFanartLoadDone(Movie *movie, QMap<int, QList<Poster> > p
imageTypes.append(it.key());
}

setProperty("isCustomScraper", false);

if (downloads.isEmpty()) {
emit sigLoadDone(m_movie);
} else {
Expand Down
1 change: 1 addition & 0 deletions scrapers/CustomMovieScraper.cpp
Expand Up @@ -209,6 +209,7 @@ void CustomMovieScraper::loadAllData(QMap<ScraperInterface *, QString> ids, Movi

int loads = scrapersWithIds.count();
movie->controller()->setProperty("customMovieScraperLoads", loads);
movie->controller()->setProperty("isCustomScraper", true);

if (infos.contains(MovieScraperInfos::Backdrop) && Settings::instance()->customMovieScraper().value(MovieScraperInfos::Backdrop) == "images.fanarttv")
movie->controller()->setForceFanartBackdrop(true);
Expand Down
2 changes: 1 addition & 1 deletion scrapers/CustomMovieScraper.h
Expand Up @@ -26,6 +26,7 @@ class CustomMovieScraper : public ScraperInterface
ScraperInterface *titleScraper();
QWidget *settingsWidget();
bool isAdult();
ScraperInterface *scraperForInfo(int info);

private slots:
void onTitleSearchDone(QList<ScraperSearchResult> results);
Expand All @@ -38,7 +39,6 @@ private slots:
QList<ScraperInterface*> m_scrapers;
QNetworkAccessManager m_qnam;

ScraperInterface *scraperForInfo(int info);
QList<ScraperInterface*> scrapersForInfos(QList<int> infos);
ImageProviderInterface *imageProviderForInfo(int info);
QList<ImageProviderInterface*> imageProvidersForInfos(QList<int> infos);
Expand Down

0 comments on commit e9de919

Please sign in to comment.