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)); } } }
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}")); } } } }