/** * Handles single season loading if provider is not tmdb. * * @param DataProviderInterface $provider * @param Title $title * @param int/string $num * @return Title */ public function fetchFromImdb($title, $num) { $season = Helpers::extractSeason($title, $num); //get all episodes for season $episodes = $this->provider->getSingleSeason($title, $num); if (!$episodes) { $episodes = array(); } //insert episodes and change fully_scraped flag to 1 $this->dbWriter->CompileBatchInsert('episodes', $episodes)->save(); $this->dbWriter->CompileInsert('seasons', array('id' => $season->id, 'fully_scraped' => 1, 'updated_at' => Carbon::now()))->save(); return $title->with('season.episode')->findOrFail($title->id); }
/** * Handles single season loading if provider is not tmdb. * * @param DataProviderInterface $provider * @param Title $title * @param int/string $num * @return Title */ public function handleSingleLoading($title, $num) { $season = Helpers::extractSeason($title, $num); if ($this->provider->name == 'db' || !$title->allow_update) { return $title; } if ($season->fully_scraped && Carbon::parse($season->updated_at)->addDays(7) >= Carbon::now()) { return $title; } if ($this->provider->name == 'tmdb') { $provider = App::make('Lib\\Repository\\Data\\ImdbData'); $episodes = $provider->getSingleSeason($title, $num); } else { //get all episodes for specified season $episodes = $this->provider->getSingleSeason($title, $num); } //insert episodes and change fully_scraped flag to 1 $this->dbWriter->CompileBatchInsert('episodes', $episodes)->save(); $this->dbWriter->CompileInsert('seasons', array('id' => $season->id, 'fully_scraped' => 1, 'updated_at' => Carbon::now()))->save(); return $title->with('season.episode')->findOrFail($title->id); }