diff options
Diffstat (limited to 'app/Console/Commands/ScrapeFiles.php')
-rw-r--r-- | app/Console/Commands/ScrapeFiles.php | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/app/Console/Commands/ScrapeFiles.php b/app/Console/Commands/ScrapeFiles.php new file mode 100644 index 0000000..05b7176 --- /dev/null +++ b/app/Console/Commands/ScrapeFiles.php @@ -0,0 +1,64 @@ +<?php + +namespace App\Console\Commands; + +use App\Rugby\Factory\Service; +use App\Rugby\Factory\SixnationsrugbyAdapter; +use Illuminate\Console\Command; +use Illuminate\Support\Facades\Storage; + +class ScrapeFiles extends Command +{ + /** + * The name and signature of the console command. + * + * @var string + */ + protected $signature = 'scrape:files { directory }'; + + /** + * The console command description. + * + * @var string + */ + protected $description = 'Scrape a file for data'; + + /** + * Create a new command instance. + * + * @return void + */ + public function __construct() + { + parent::__construct(); + } + + /** + * Execute the console command. + * + * @return mixed + */ + public function handle() + { + $directory = $this->argument('directory'); + + if (!Storage::disk('local')->exists($directory)) { + $this->error('Could not load file at: ' . Storage::disk('local')->path($directory)); + return Command::FAILURE; + } + + $files = Storage::disk('local')->files($directory); + + + foreach ($files as $file) { + $tournament = 'Six Nations ' . explode('-', explode('.txt', $file)[0])[1]; + $raw_data = Storage::disk('local')->get($file); + + $service = new Service(new SixnationsrugbyAdapter($raw_data, $tournament)); + $service->save(); + } + + return Command::SUCCESS; + } + +} |