예제 #1
0
파일: download.php 프로젝트: rsesek/nztv
 public function Fire()
 {
     $keeper = new BookKeeper();
     $provider = GetProvider();
     $shows = Show::FetchAll();
     foreach ($shows as $show) {
         LogMessage("Beginning search for {$show->name}");
         $results = $provider->SearchForShow($show);
         foreach ($results as $episode) {
             // Skip this episode if it's too old.
             if (!$keeper->ShouldDownloadEpisode($episode)) {
                 LogMessage("Skipping #{$episode->nzbid} '{$episode->title}' because it is too old");
                 continue;
             }
             // We've already downloaded this episode.
             if ($episode->IsAlreadyDownloaded()) {
                 LogMessage("Skipping #{$episode->nzbid} '{$episode->title}' because it has been downloaded previously");
                 continue;
             }
             TaskPump::Pump()->QueueTask(new DownloadEpisodeTask($episode));
         }
     }
 }
예제 #2
0
 public function Fire()
 {
     $shows = Show::FetchAll();
     foreach ($shows as $show) {
         $episode = $show->GetLatestEpisode();
         if (!$episode) {
             continue;
         }
         // This show hasn't been downloaded yet.
         if ($episode->season > $show->last_season || $episode->season == $show->last_season && $episode->episode > $show->last_episode) {
             print "{$show->name} has {$show->last_season}x{$show->last_episode} as latest," . " but most recent download is {$episode->season}x{$episode->episode}. Update" . " [Y/n]? ";
             $fp = fopen('php://stdin', 'r');
             $c = fgetc($fp);
             fclose($fp);
             if (strtolower($c) == 'y') {
                 $show->last_season = $episode->season;
                 $show->last_episode = $episode->episode;
                 $show->Update();
                 TaskPump::Pump()->QueueTask(new MessageTask("Updated {$show->name} to {$show->last_season}x{$show->last_episode}"));
             }
         }
     }
 }