diff options
author | Fbenas <philbeansburton@gmail.com> | 2020-06-20 21:07:45 +0100 |
---|---|---|
committer | Fbenas <philbeansburton@gmail.com> | 2020-06-20 21:07:45 +0100 |
commit | 8d6e8b306d7836e4075a13ad98617bfe5afaa1a0 (patch) | |
tree | 99c44e28da231cac0d9e513aabc1ee0768972426 /app/Console/Commands/ScrapeUrlFile.php | |
parent | 897b68ac107f2fb0d4dc1d31ce96ce24c862eb27 (diff) |
Add new scripts for youtube downloading and syncing with existing matches
Diffstat (limited to 'app/Console/Commands/ScrapeUrlFile.php')
-rw-r--r-- | app/Console/Commands/ScrapeUrlFile.php | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/app/Console/Commands/ScrapeUrlFile.php b/app/Console/Commands/ScrapeUrlFile.php new file mode 100644 index 0000000..f4f114b --- /dev/null +++ b/app/Console/Commands/ScrapeUrlFile.php @@ -0,0 +1,71 @@ +<?php + +namespace App\Console\Commands; + +use App\Rugby\Model\Video; +use App\Youtube\Service; +use Illuminate\Console\Command; +use Illuminate\Support\Facades\Storage; + +class ScrapeUrlFile extends Command +{ + /** + * The name and signature of the console command. + * + * @var string + */ + protected $signature = 'scrape:urls { filename } { format }'; + + /** + * The console command description. + * + * @var string + */ + protected $description = 'Scrape a youtube for videos'; + + /** + * Create a new command instance. + * + * @return void + */ + public function __construct() + { + parent::__construct(); + } + + /** + * Execute the console command. + * + * @return mixed + */ + public function handle() + { + $filename = $this->argument('filename'); + $format = $this->argument('format'); + + $urls = include Storage::disk('local')->path($filename); + + foreach ($urls as $url) { + $service = new Service($url, $this->output); + + if ($format == 'video') { + $service->downloadVideo('video'); + } elseif ($format == 'audio') { + $service->downloadAudio('audio'); + } + + $video_model = Video::create( + [ + 'path' => $service->getFullPath() + ] + ); + + $this->info('Download of ' . $service->getTitle() . ' complete!'); + } + + + + return Command::SUCCESS; + } + +} |