public function getPotentialTargets(MatcherContract $matcher)
 {
     $potential_targets = $matcher->getMediaList(MatcherContract::MEDIA_POTENTIAL_TARGET);
     // Get a list of media being processed
     $results = Media::query();
     $results = $results->where('status', Media::STATUS_PENDING)->orWhere('status', Media::STATUS_PROCESSING);
     $media = $results->get()->toArray();
     // Extract the id's from the media
     $processing_ids = array_map(function ($result) {
         return $result['duplitron_id'];
     }, $media);
     // Remove any potential targets being processed
     $final_targets = array();
     foreach ($potential_targets as $potential_target) {
         if (in_array($potential_target->id, $processing_ids)) {
             continue;
         }
         $final_targets[] = $potential_target;
     }
     return $final_targets;
 }
Ejemplo n.º 2
0
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index(Request $request)
 {
     $results = Media::query();
     // Filter by status
     if ($request->has('status')) {
         switch ($request->input('status')) {
             case Media::STATUS_FAILED:
                 $results = $results->where('status', Media::STATUS_FAILED);
                 break;
             case Media::STATUS_STABLE:
                 $results = $results->where('status', Media::STATUS_STABLE);
                 break;
             case Media::STATUS_PENDING:
                 $results = $results->where('status', Media::STATUS_PENDING);
                 break;
             case Media::STATUS_PROCESSING:
                 $results = $results->where('status', Media::STATUS_PROCESSING);
                 break;
         }
     }
     // TODO: add real pagination
     $results = $results->take(5000);
     return $results->get();
 }