App\Console\Commands\SyncMedia::logToConsole PHP Method

logToConsole() public method

Log a song's sync status to console.
public logToConsole ( string $path, mixed $result, string $reason = '' )
$path string
$result mixed
$reason string
    public function logToConsole($path, $result, $reason = '')
    {
        $name = basename($path);
        if ($result === true) {
            if ($this->option('verbose')) {
                $this->line("{$name} has no changes – ignoring");
            }
            ++$this->ignored;
        } elseif ($result === false) {
            if ($this->option('verbose')) {
                $this->error("{$name} is not a valid media file because: " . $reason);
            }
            ++$this->invalid;
        } else {
            if ($this->option('verbose')) {
                $this->info("{$name} synced");
            }
            ++$this->synced;
        }
    }

Usage Example

コード例 #1
0
ファイル: Media.php プロジェクト: carriercomm/koel
 /**
  * Sync the media. Oh sync the media.
  *
  * @param string|null $path
  * @param array       $tags        The tags to sync.
  *                                 Only taken into account for existing records.
  *                                 New records will have all tags synced in regardless.
  * @param bool        $force       Whether to force syncing even unchanged files
  * @param SyncMedia   $syncCommand The SyncMedia command object, to log to console if executed by artisan.
  */
 public function sync($path = null, $tags = [], $force = false, SyncMedia $syncCommand = null)
 {
     if (!app()->runningInConsole()) {
         set_time_limit(env('APP_MAX_SCAN_TIME', 600));
     }
     $path = $path ?: Setting::get('media_path');
     $this->setTags($tags);
     $results = ['good' => [], 'bad' => [], 'ugly' => []];
     $getID3 = new getID3();
     foreach ($this->gatherFiles($path) as $file) {
         $file = new File($file, $getID3);
         $song = $file->sync($this->tags, $force);
         if ($song === true) {
             $results['ugly'][] = $file;
         } elseif ($song === false) {
             $results['bad'][] = $file;
         } else {
             $results['good'][] = $file;
         }
         if ($syncCommand) {
             $syncCommand->logToConsole($file->getPath(), $song);
         }
     }
     // Delete non-existing songs.
     $hashes = array_map(function ($f) {
         return self::getHash($f->getPath());
     }, array_merge($results['ugly'], $results['good']));
     Song::whereNotIn('id', $hashes)->delete();
     // Trigger LibraryChanged, so that TidyLibrary handler is fired to, erm, tidy our library.
     event(new LibraryChanged());
 }
All Usage Examples Of App\Console\Commands\SyncMedia::logToConsole