This commit is contained in:
salam committed 2026-09-27 19:43:26 +02:00
1 parent 31dd27dd73
commit 254ca94d73
4 files changed
+80 -237

No files matched your search

@@ -1,37 +0,0 @@
<?php
namespace App\Console\Commands;
use App\Models\StatistikoImport;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Storage;
class DeleteUnusedFiles extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'delete:unused-files';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Delete unused statistiko files';
/**
* Execute the console command.
*/
public function handle(): void
{
$tasks = StatistikoImport::pluck('file_name')->toArray();
collect(Storage::disk('public')->allFiles('statistiko'))
->reject(fn (string $file) => $file === '.gitignore')
->reject(fn (string $file) => in_array($file, $tasks))
->each(fn ($file) => Storage::disk('public')->delete($file));
}
}
-180
View File
@@ -1,180 +0,0 @@
<?php
namespace App\Console\Commands;
use App\Console\Commands\Grapper\Sofascore\Grapper;
use App\Console\Commands\Grapper\Sofascore\GrapperTest;
use App\Console\Commands\Grapper\Sofascore\Helper\ClearDir;
use App\Console\Commands\Grapper\Sofascore\Helper\SetStorage;
use App\Console\Commands\Grapper\Sofascore\MakeExcel;
use App\Console\Commands\Grapper\Sofascore\Rose;
use App\Console\Commands\Grapper\Sofascore\SendMail;
use App\Console\Commands\Grapper\Sofascore\SettingsToLocal;
use App\Console\Commands\Grapper\Sofascore\SqlMover;
use App\Utilities\Notice;
use Illuminate\Console\Command;
class Grap extends Command
{
public static $options = [];
public static string $storage;
public static string $zipfile;
public static string $folder;
public static string $excel;
public static string $useragent = '4';
protected $signature = 'grp {id=0} {mode} {day=0} {--date=} {--folder=} {--d} {--g} {--r} {--c} {--m} {--f} {--F} {--R} {--S}';
public function handle()
{
self::$options = $this->options();
self::$options['id'] = (int) $this->argument('id');
self::$options['day'] = (int) $this->argument('day');
self::$options['base_url'] = 'https://www.sofascore.com/';
if (! self::$options['id']) {
$txt = 'PARAMETERS'.PHP_EOL;
$txt .= '--d debug'.PHP_EOL;
$txt .= '--r restart range'.PHP_EOL;
$txt .= '--f force Events'.PHP_EOL;
$txt .= '--F force DayTournament links'.PHP_EOL;
$txt .= '--c clear grap dir'.PHP_EOL;
$txt .= '--m mail only'.PHP_EOL;
$txt .= '--C clear folder'.PHP_EOL;
$txt .= '--G grap'.PHP_EOL;
$txt .= '--E make excel'.PHP_EOL;
$txt .= '--M mail'.PHP_EOL;
$txt .= '--folder'.PHP_EOL;
$txt .= '-----------------------------------------------------------'.PHP_EOL;
$txt .= 'FUNCTION'.PHP_EOL;
$txt .= ' 1 grapper DAILY & subDays ( default 3)'.PHP_EOL;
$txt .= ' 2 grapper MORE DAYS'.PHP_EOL;
$txt .= ' 3 grapper RANGE'.PHP_EOL;
$txt .= ' 4 grapper ROSE'.PHP_EOL;
$txt .= ' 5 import to excel from folder'.PHP_EOL;
$txt .= ' 7 settings to local'.PHP_EOL;
$txt .= ' 11 move SQL'.PHP_EOL;
$txt .= ' 12 testing url for grapping'.PHP_EOL;
Notice::note($txt, 'b', 1);
}
Notice::note('Task Id '.self::$options['id'], 'gb');
if (self::$options['cear']) {
SetStorage::set(1);
ClearDir::clear();
}
if (self::$options['grap']) {
SetStorage::set(1);
Grapper::load(1);
}
if (self::$options['excel']) {
SetStorage::set(1);
MakeExcel::create();
}
if (self::$options['mail']) {
SetStorage::set(1);
SendMail::run(1);
}
case 4:
// ROSE
SetStorage::set(4);
Rose::run();
MakeExcel::create();
break;
switch (self::$options['id']) {
case 1:
// DAILY
if (self::$options['c']) {
SetStorage::set(1);
ClearDir::clear();
}
if (self::$options['C']) {
Grapper::load(1);
}
if (self::$options['G']) {
Grapper::load(1);
}
if (self::$options['E']) {
MakeExcel::create();
}
if (self::$options['M']) {
SendMail::run(1);
}
break;
case 2:
// LAST 3 DAYS
self::$options['f'] = 1;
if (self::$options['c']) {
SetStorage::set(1);
ClearDir::clear();
}
self::$options['day'] = 1;
SetStorage::set(1);
Grapper::load(1);
MakeExcel::create('day');
self::$options['day'] = 5;
SetStorage::set(1);
Grapper::load(1);
MakeExcel::create('day');
SendMail::run(1);
break;
case 3:
// RANGE
SetStorage::set(3);
Grapper::load(3);
MakeExcel::create();
break;
case 4:
// ROSE
SetStorage::set(4);
Rose::run();
MakeExcel::create();
break;
case 5:
SetStorage::set(5);
MakeExcel::create();
break;
case 7:
SettingsToLocal::run();
break;
case '11':
SqlMover::run();
break;
case '12':
GrapperTest::load();
break;
default:
Notice::note('function not implemented yet', 'br', 1);
}
}
}
+65 -19
View File
@@ -70,7 +70,7 @@ trait GrapSofascore
case 'range':
$this->task_id = 3;
$this->run_range($grapperSelected);
$this->range_grapper_nobreak();
break;
case 'settings':
@@ -91,6 +91,10 @@ trait GrapSofascore
$this->clear_folder($folder);
break;
case 'delete_orphants':
$this->delete_imported_files_orphants();
break;
}
break;
}
@@ -116,17 +120,17 @@ trait GrapSofascore
/**
* day 1
*/
// $this->clear_folder($folder, 'all');
$this->clear_folder($folder, 'all');
// $day = Carbon::now()->subDay()->format('Y-m-d');
$day = Carbon::now()->subDay()->format('Y-m-d');
// $this->grap_tournaments_for_day($day);
$this->grap_tournaments_for_day($day);
// foreach ($this->tournaments_requested as $tournament) {
// $this->get_event($day, $tournament);
// }
foreach ($this->tournaments_requested as $tournament) {
$this->get_event($day, $tournament);
}
// $this->import_to_excel($day, "Daily-$day");
$this->import_to_excel($folder, $day);
/**
* day 5
@@ -135,13 +139,13 @@ trait GrapSofascore
$day = Carbon::now()->subDays(5)->format('Y-m-d');
// $this->grap_tournaments_for_day($day);
$this->grap_tournaments_for_day($day);
// foreach ($this->tournaments_requested as $tournament) {
// $this->get_event($day, $tournament);
// }
foreach ($this->tournaments_requested as $tournament) {
$this->get_event($day, $tournament);
}
$this->import_to_excel($day, "Daily-$day");
$this->import_to_excel($folder, $day);
$this->send($folder);
}
@@ -176,16 +180,45 @@ trait GrapSofascore
/**
* Summary of run_range
*
* @return never
*/
protected function run_range(string $grapperSelected)
protected function range_grapper_nobreak()
{
$this->load_tournaments_requested($grapperSelected);
$folder = 'range';
$this->load_days($grapperSelected);
$this->task_id = 3;
dd($this->days);
$this->set_base_dir($folder);
$restart = $this->ask_restart();
if ($restart == 'yes') {
$this->restart = 1;
$this->clear_folder($folder, 'all');
}
$this->load_tournaments_requested($folder);
$this->load_days($folder);
$count = \count($this->days);
foreach ($this->days as $key => $day) {
if ($this->debug) {
$key++;
Notice::note("$key/$count", 'br');
}
$this->grap_tournaments_for_day($day);
foreach ($this->tournaments_requested as $tournament) {
$this->get_event($day, $tournament);
}
}
Notice::note('Excel', 'g');
$this->import_to_excel($folder, $day);
Notice::note('Done', 'g');
}
/**
@@ -205,6 +238,7 @@ trait GrapSofascore
'excel' => 'Excel',
'mail' => 'Send Mail',
'clear' => 'Empty Folder',
'delete_orphants' => 'Delete Imported Orphants',
]
);
}
@@ -235,6 +269,18 @@ trait GrapSofascore
);
}
protected function ask_restart(): string
{
return select(
label: 'Restart Grapper?',
default: 'no',
options: [
'yes' => 'Yes',
'no' => 'No',
]
);
}
protected function select_what_delete(): string
{
return select(
+15 -1
View File
@@ -11,11 +11,13 @@ use App\Models\SofaScoreTask;
use App\Models\SofaScoreTaskDay;
use App\Models\SofaScoreTaskTournament;
use App\Models\SofaScoreTournament;
use App\Models\StatistikoImport;
use App\Services\CloudflareSolverService;
use App\Utilities\Notice;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Storage;
trait GrappingHelper
{
@@ -125,9 +127,11 @@ trait GrappingHelper
{
switch ($grapperSelected) {
case 'daily':
case 'range':
$this->tournaments_requested = SofaScoreTaskTournament::with('tournament')->where('sofa_score_task_id', 1)->where('disabled', false)->get()->toArray();
break;
case 'range':
$this->tournaments_requested = SofaScoreTaskTournament::with('tournament')->where('sofa_score_task_id', 3)->where('disabled', false)->get()->toArray();
break;
}
}
@@ -420,4 +424,14 @@ trait GrappingHelper
break;
}
}
protected function delete_imported_files_orphants(): void
{
$tasks = StatistikoImport::pluck('file_name')->toArray();
collect(Storage::disk('public')->allFiles('statistiko'))
->reject(fn (string $file) => $file === '.gitignore')
->reject(fn (string $file) => in_array($file, $tasks))
->each(fn ($file) => Storage::disk('public')->delete($file));
}
}