Пример #1
0
 /**
  * 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);
 }
Пример #2
0
 /**
  * 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);
 }