diff --git a/app/Console/Commands/Grapper/Sofascore.php b/app/Console/Commands/Grapper/Sofascore.php index 7035539c..41ee7fa6 100644 --- a/app/Console/Commands/Grapper/Sofascore.php +++ b/app/Console/Commands/Grapper/Sofascore.php @@ -2,15 +2,17 @@ namespace App\Console\Commands\Grapper; -use App\Console\Commands\Grapper\Sofascore\CreateZip; use App\Console\Commands\Grapper\Sofascore\DaysTournament; use App\Console\Commands\Grapper\Sofascore\Grapper; +use App\Console\Commands\Grapper\Sofascore\Helper\Strings; use App\Console\Commands\Grapper\Sofascore\Helper\TaskConfig; use App\Console\Commands\Grapper\Sofascore\PlayerPerSeason; use App\Console\Commands\Grapper\Sofascore\SendMail; use App\Console\Commands\Grapper\Sofascore\SettingsToLocal; use App\Console\Commands\Nuh; +use App\Models\SofaScoreTask; use App\Utilities\Notice; +use App\Utilities\ZipFolder; ini_set('magic_quotes_runtime', false); @@ -22,31 +24,40 @@ class Sofascore { $function = Nuh::$options['fun']; - self::$storage = storage_path('sofascore_data'); - switch ($function) { + case 1: PlayerPerSeason::run(); break; + case 2: SettingsToLocal::run(); break; + case 3: TaskConfig::start(); break; + case 4: DaysTournament::run(); break; + case 5: + self::setStorage(); Grapper::load(); break; + case 6: TaskConfig::end(); break; + case 7: - CreateZip::run(); + self::setStorage(); + ZipFolder::create(self::$storage); break; + case 8: + self::setStorage(); SendMail::run(); break; @@ -54,4 +65,13 @@ class Sofascore Notice::note('id not valid', 'br', 1); } } + + public static function setStorage() + { + $task = Nuh::$options['task']; + + self::$storage = storage_path('sofascore_data') . '/' . Strings::clean(SofaScoreTask::where('id', $task)->value('name')); + + dd(self::$storage); + } } diff --git a/app/Console/Commands/Grapper/Sofascore/CreateZip.php b/app/Console/Commands/Grapper/Sofascore/CreateZip.php deleted file mode 100644 index d85bd5b2..00000000 --- a/app/Console/Commands/Grapper/Sofascore/CreateZip.php +++ /dev/null @@ -1,22 +0,0 @@ -first(); + $has = SofaScoreDayTournament::where('day', $day)->where('sport_id', $sport_id)->first(); if ($has) { if ($debug) { @@ -154,6 +163,7 @@ class DaysTournament */ SofaScoreDayTournament::updateOrCreate([ 'tournament_id' => (int) $tournament['id'], + 'sport_id' => (int) $sport_id, 'day' => $day, ]); } diff --git a/app/Console/Commands/Grapper/Sofascore/Grapper.php b/app/Console/Commands/Grapper/Sofascore/Grapper.php index 8269aec1..e4fb0b03 100644 --- a/app/Console/Commands/Grapper/Sofascore/Grapper.php +++ b/app/Console/Commands/Grapper/Sofascore/Grapper.php @@ -35,9 +35,6 @@ class Grapper $active_tournaments = SofaScoreTaskTournament::with('tournament')->where('sofa_score_task_id', $task_id)->where('disabled', false)->get(); - // dd($active_tournaments->toArray()); - - /** * empty grapping folder * empty mailing text @@ -83,10 +80,13 @@ class Grapper foreach ($data['events'] as $event) { - $now = Carbon::now()->subHours(4); + $now = Carbon::now()->subHours(3); + + $carbon_day = new Carbon($day); + $starttime = Carbon::createFromTimestamp($event['startTimestamp']); - if ($now->greaterThan($starttime)) { + if ($now->greaterThan($starttime) && $starttime->isSameDay($carbon_day)) { Sleeper::rand(1); diff --git a/app/Console/Commands/Grapper/Sofascore/Helper/Strings.php b/app/Console/Commands/Grapper/Sofascore/Helper/Strings.php new file mode 100644 index 00000000..ee67a30d --- /dev/null +++ b/app/Console/Commands/Grapper/Sofascore/Helper/Strings.php @@ -0,0 +1,15 @@ +allowHtml() ->required() ->options([ - 'auto_updater' => 'Grap last 3 days', + 'auto_updater' => 'Yesterday', 'date' => 'Grap a date', 'range' => 'Grap a date range', ]), diff --git a/app/Filament/Clusters/StaticData/Resources/StatistikoDetails/Tables/StatistikoDetailsTable.php b/app/Filament/Clusters/StaticData/Resources/StatistikoDetails/Tables/StatistikoDetailsTable.php index 069ad202..91ca4e68 100644 --- a/app/Filament/Clusters/StaticData/Resources/StatistikoDetails/Tables/StatistikoDetailsTable.php +++ b/app/Filament/Clusters/StaticData/Resources/StatistikoDetails/Tables/StatistikoDetailsTable.php @@ -2,11 +2,16 @@ namespace App\Filament\Clusters\StaticData\Resources\StatistikoDetails\Tables; +use App\Models\StatistikoDetail; use Filament\Actions\DeleteAction; use Filament\Actions\EditAction; +use Filament\Forms\Components\Checkbox; use Filament\Tables\Columns\Layout\Stack; use Filament\Tables\Columns\TextColumn; +use Filament\Tables\Enums\FiltersLayout; +use Filament\Tables\Filters\Filter; use Filament\Tables\Table; +use Illuminate\Database\Eloquent\Builder; class StatistikoDetailsTable { @@ -38,13 +43,39 @@ class StatistikoDetailsTable // TextColumn::make('team_name')->prefix('Team Name: '), ]), ]) + ->emptyStateHeading('No double player in details') ->contentGrid([ 'md' => 2, 'xl' => 4, ]) + ->filters([ + Filter::make('player_filters') + ->schema([ + Checkbox::make('find_double'), + ])->query(function (Builder $query, array $data): Builder { + return $query->when( + $data['find_double'], + function (Builder $query) { + $pDetails = StatistikoDetail::pluck('tm_player_id')->toArray(); + $doublpDetails = array_diff_assoc( + $pDetails, + array_unique($pDetails) + ); + $query->whereIn('tm_player_id', $doublpDetails)->orderBy('tm_player_id'); + } + ); + })->indicateUsing(function (array $data): ?string { + if (! $data['find_double']) { + return null; + } + return 'Find Double'; + }), + + ], layout: FiltersLayout::AboveContent) + ->deferFilters(false) ->recordActions([ - EditAction::make()->hiddenLabel(), - DeleteAction::make()->hiddenLabel(), + EditAction::make()->iconButton(), + DeleteAction::make()->iconButton(), ]); } } diff --git a/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Tables/StatistikoPlayersTable.php b/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Tables/StatistikoPlayersTable.php index b14e6f52..f0e8dfca 100644 --- a/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Tables/StatistikoPlayersTable.php +++ b/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Tables/StatistikoPlayersTable.php @@ -49,6 +49,8 @@ class StatistikoPlayersTable } $arr[$match_id][] = $player_id; } + + return $query->where('match_id', 0); } ); })->indicateUsing(function (array $data): ?string { @@ -59,6 +61,7 @@ class StatistikoPlayersTable }), ], layout: FiltersLayout::AboveContent) + ->emptyStateHeading('No player double in an event') ->deferFilters(false) ->recordActions([ EditAction::make()->iconButton(), diff --git a/app/Filament/Imports/Helper/ImportPlayer.php b/app/Filament/Imports/Helper/ImportPlayer.php index da22b79a..89f978e1 100644 --- a/app/Filament/Imports/Helper/ImportPlayer.php +++ b/app/Filament/Imports/Helper/ImportPlayer.php @@ -131,6 +131,9 @@ class ImportPlayer // ss_playerrating_value, // tm_player_id +// 'sport_id' => (int) $row[0], +// 'match_id' => (int) $row[1], +// 'ss_player_id' => (int) $row[2], // 'activeteam_id' => $row[2], // 'playersubstitute_id' => $row[3], // 'goals' => $row[4], diff --git a/app/Models/SofaScoreDayTournament.php b/app/Models/SofaScoreDayTournament.php index 163787a6..f30fc158 100644 --- a/app/Models/SofaScoreDayTournament.php +++ b/app/Models/SofaScoreDayTournament.php @@ -9,6 +9,7 @@ class SofaScoreDayTournament extends Model protected $fillable = [ 'id', 'tournament_id', + 'sport_id', 'day', ]; diff --git a/app/Utilities/ZipFolder.php b/app/Utilities/ZipFolder.php index 078ccfa8..025d94f2 100644 --- a/app/Utilities/ZipFolder.php +++ b/app/Utilities/ZipFolder.php @@ -12,11 +12,8 @@ class ZipFolder public static function create(string $path) { - // $zipFilePath = Sofascore::$storage . '/' . $day . '.zip'; - - // $path = Sofascore::$storage . '/' . $day; - $zipFilePath = $path . '/archive.zip'; + $zip = new ZipArchive(); if ($zip->open($zipFilePath, ZipArchive::CREATE | ZipArchive::OVERWRITE) === true) { diff --git a/database/migrations/2026_06_07_051551_create_sofa_score_day_tournaments_table.php b/database/migrations/2026_06_07_051551_create_sofa_score_day_tournaments_table.php index 970bc198..2728f6ee 100644 --- a/database/migrations/2026_06_07_051551_create_sofa_score_day_tournaments_table.php +++ b/database/migrations/2026_06_07_051551_create_sofa_score_day_tournaments_table.php @@ -14,6 +14,7 @@ return new class extends Migration Schema::create('sofa_score_day_tournaments', function (Blueprint $table) { $table->id(); $table->integer('tournament_id')->index(); + $table->integer('sport_id')->index(); $table->date('day')->index(); $table->boolean('grapped')->index()->default(0); $table->timestamps(); diff --git a/example2.json b/example2.json index a9bf0349..6e98fbdb 100644 --- a/example2.json +++ b/example2.json @@ -1,149 +1,239 @@ -XHRGET -https://www.sofascore.com/api/v1/sport/football/scheduled-tournaments/2026-07-09/page/1 -[HTTP/2 200 128ms] - - -scheduled (100)[ {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, … ] -0 { tournament: {…}, timezoneEventCount: {…} } -tournament { name: "FIFA World Cup, Knockout", slug: "world-cup-knockout-stage", priority: 805, … } -name "FIFA World Cup, Knockout" -slug "world-cup-knockout-stage" -category { name: "World", slug: "world", priority: 20, … } -name "World" -slug "world" -sport { name: "Football", slug: "football", id: 1 } -name "Football" -slug "football" -id 1 -priority 20 -id 1468 -flag "international" -fieldTranslations { nameTranslation: {…}, shortNameTranslation: {} } -nameTranslation { ar: "العالم", bn: "বিশ্ব", hi: "विश्व", … } -shortNameTranslation {} -uniqueTournament { name: "FIFA World Cup", slug: "world-championship", userCount: 1986199, … } -priority 805 -id 3948 -fieldTranslations { nameTranslation: {…}, shortNameTranslation: {} } -timezoneEventCount { 0: 1, 3600: 1, 7200: 1, … } -0 1 -3600 1 -7200 1 -10800 1 -12600 1 --43200 1 --39600 1 --36000 1 --34200 1 --32400 1 --28800 1 --25200 1 --21600 1 --18000 1 --16200 1 --14400 1 --12600 1 --10800 1 --9000 1 --7200 1 --3600 1 -1 { tournament: {…}, timezoneEventCount: {…} } -2 { tournament: {…}, timezoneEventCount: {…} } -3 { tournament: {…}, timezoneEventCount: {…} } -4 { tournament: {…}, timezoneEventCount: {…} } -5 { tournament: {…}, timezoneEventCount: {…} } -6 { tournament: {…}, timezoneEventCount: {…} } -7 { tournament: {…}, timezoneEventCount: {…} } -8 { tournament: {…}, timezoneEventCount: {…} } -9 { tournament: {…}, timezoneEventCount: {…} } -10 { tournament: {…}, timezoneEventCount: {…} } -11 { tournament: {…}, timezoneEventCount: {…} } -12 { tournament: {…}, timezoneEventCount: {…} } -13 { tournament: {…}, timezoneEventCount: {…} } -14 { tournament: {…}, timezoneEventCount: {…} } -15 { tournament: {…}, timezoneEventCount: {…} } -16 { tournament: {…}, timezoneEventCount: {…} } -17 { tournament: {…}, timezoneEventCount: {…} } -18 { tournament: {…}, timezoneEventCount: {…} } -19 { tournament: {…}, timezoneEventCount: {…} } -20 { tournament: {…}, timezoneEventCount: {…} } -21 { tournament: {…}, timezoneEventCount: {…} } -22 { tournament: {…}, timezoneEventCount: {…} } -23 { tournament: {…}, timezoneEventCount: [] } -24 { tournament: {…}, timezoneEventCount: {…} } -25 { tournament: {…}, timezoneEventCount: {…} } -26 { tournament: {…}, timezoneEventCount: {…} } -27 { tournament: {…}, timezoneEventCount: {…} } -28 { tournament: {…}, timezoneEventCount: {…} } -29 { tournament: {…}, timezoneEventCount: {…} } -30 { tournament: {…}, timezoneEventCount: {…} } -31 { tournament: {…}, timezoneEventCount: {…} } -32 { tournament: {…}, timezoneEventCount: {…} } -33 { tournament: {…}, timezoneEventCount: {…} } -34 { tournament: {…}, timezoneEventCount: {…} } -35 { tournament: {…}, timezoneEventCount: {…} } -36 { tournament: {…}, timezoneEventCount: {…} } -37 { tournament: {…}, timezoneEventCount: {…} } -38 { tournament: {…}, timezoneEventCount: {…} } -39 { tournament: {…}, timezoneEventCount: {…} } -40 { tournament: {…}, timezoneEventCount: {…} } -41 { tournament: {…}, timezoneEventCount: {…} } -42 { tournament: {…}, timezoneEventCount: {…} } -43 { tournament: {…}, timezoneEventCount: {…} } -44 { tournament: {…}, timezoneEventCount: {…} } -45 { tournament: {…}, timezoneEventCount: {…} } -46 { tournament: {…}, timezoneEventCount: {…} } -47 { tournament: {…}, timezoneEventCount: {…} } -48 { tournament: {…}, timezoneEventCount: {…} } -49 { tournament: {…}, timezoneEventCount: {…} } -50 { tournament: {…}, timezoneEventCount: {…} } -51 { tournament: {…}, timezoneEventCount: {…} } -52 { tournament: {…}, timezoneEventCount: {…} } -53 { tournament: {…}, timezoneEventCount: [] } -54 { tournament: {…}, timezoneEventCount: {…} } -55 { tournament: {…}, timezoneEventCount: [] } -56 { tournament: {…}, timezoneEventCount: {…} } -57 { tournament: {…}, timezoneEventCount: {…} } -58 { tournament: {…}, timezoneEventCount: {…} } -59 { tournament: {…}, timezoneEventCount: {…} } -60 { tournament: {…}, timezoneEventCount: {…} } -61 { tournament: {…}, timezoneEventCount: {…} } -62 { tournament: {…}, timezoneEventCount: {…} } -63 { tournament: {…}, timezoneEventCount: {…} } -64 { tournament: {…}, timezoneEventCount: {…} } -65 { tournament: {…}, timezoneEventCount: {…} } -66 { tournament: {…}, timezoneEventCount: {…} } -67 { tournament: {…}, timezoneEventCount: {…} } -68 { tournament: {…}, timezoneEventCount: {…} } -69 { tournament: {…}, timezoneEventCount: {…} } -70 { tournament: {…}, timezoneEventCount: {…} } -71 { tournament: {…}, timezoneEventCount: {…} } -72 { tournament: {…}, timezoneEventCount: {…} } -73 { tournament: {…}, timezoneEventCount: {…} } -74 { tournament: {…}, timezoneEventCount: {…} } -75 { tournament: {…}, timezoneEventCount: {…} } -76 { tournament: {…}, timezoneEventCount: {…} } -77 { tournament: {…}, timezoneEventCount: {…} } -78 { tournament: {…}, timezoneEventCount: {…} } -79 { tournament: {…}, timezoneEventCount: {…} } -80 { tournament: {…}, timezoneEventCount: {…} } -81 { tournament: {…}, timezoneEventCount: {…} } -82 { tournament: {…}, timezoneEventCount: [] } -83 { tournament: {…}, timezoneEventCount: {…} } -84 { tournament: {…}, timezoneEventCount: {…} } -85 { tournament: {…}, timezoneEventCount: {…} } -86 { tournament: {…}, timezoneEventCount: {…} } -87 { tournament: {…}, timezoneEventCount: {…} } -88 { tournament: {…}, timezoneEventCount: {…} } -89 { tournament: {…}, timezoneEventCount: {…} } -90 { tournament: {…}, timezoneEventCount: {…} } -91 { tournament: {…}, timezoneEventCount: {…} } -92 { tournament: {…}, timezoneEventCount: {…} } -93 { tournament: {…}, timezoneEventCount: {…} } -94 { tournament: {…}, timezoneEventCount: {…} } -95 { tournament: {…}, timezoneEventCount: {…} } -96 { tournament: {…}, timezoneEventCount: {…} } -97 { tournament: {…}, timezoneEventCount: {…} } -98 { tournament: {…}, timezoneEventCount: {…} } -99 { tournament: {…}, timezoneEventCount: {…} } -hasNextPage true \ No newline at end of file +{ + "eventState": [], + "tournament": { + "name": "Allsvenskan", + "slug": "allsvenskan", + "category": { + "name": "Sweden", + "slug": "sweden", + "sport": { "name": "Football", "slug": "football", "id": 1 }, + "priority": 0, + "country": { + "alpha2": "SE", + "alpha3": "SWE", + "name": "Sweden", + "slug": "sweden" + }, + "id": 9, + "flag": "sweden", + "alpha2": "SE", + "fieldTranslations": { + "nameTranslation": { + "ar": "\u0627\u0644\u0633\u0648\u064a\u062f", + "ru": "\u0428\u0432\u0435\u0446\u0438\u044f" + }, + "shortNameTranslation": [] + } + }, + "uniqueTournament": { + "name": "Allsvenskan", + "slug": "allsvenskan", + "primaryColorHex": "#d38509", + "secondaryColorHex": "#212759", + "category": { + "name": "Sweden", + "slug": "sweden", + "sport": { "name": "Football", "slug": "football", "id": 1 }, + "priority": 0, + "country": { + "alpha2": "SE", + "alpha3": "SWE", + "name": "Sweden", + "slug": "sweden" + }, + "id": 9, + "flag": "sweden", + "alpha2": "SE", + "fieldTranslations": { + "nameTranslation": { + "ar": "\u0627\u0644\u0633\u0648\u064a\u062f", + "ru": "\u0428\u0432\u0435\u0446\u0438\u044f" + }, + "shortNameTranslation": [] + } + }, + "userCount": 29399, + "hasPerformanceGraphFeature": true, + "country": [], + "id": 40, + "hasEventPlayerStatistics": true, + "displayInverseHomeAwayTeams": false, + "fieldTranslations": { + "nameTranslation": { + "ar": "\u0627\u0644\u062f\u0648\u0631\u064a \u0627\u0644\u0633\u0648\u064a\u062f\u064a \u0627\u0644\u0645\u0645\u062a\u0627\u0632", + "bn": "\u0985\u09b2\u09b8\u09ad\u09c7\u09a8\u09b8\u09cd\u0995\u09be\u09a8", + "hi": "\u0911\u0932\u0938\u094d\u0935\u0947\u0928\u094d\u0938\u094d\u0915\u0928", + "ru": "\u0410\u043b\u043b\u0441\u0432\u0435\u043d\u0441\u043a\u0430\u043d" + }, + "shortNameTranslation": [] + } + }, + "priority": 192, + "isGroup": false, + "isLive": false, + "id": 24, + "fieldTranslations": { + "nameTranslation": { + "ar": "\u0627\u0644\u062f\u0648\u0631\u064a \u0627\u0644\u0633\u0648\u064a\u062f\u064a \u0627\u0644\u0645\u0645\u062a\u0627\u0632", + "bn": "\u0985\u09b2\u09b8\u09ad\u09c7\u09a8\u09b8\u09cd\u0995\u09be\u09a8", + "hi": "\u0911\u0932\u0938\u094d\u0935\u0947\u0928\u094d\u0938\u094d\u0915\u0928", + "ru": "\u0410\u043b\u043b\u0441\u0432\u0435\u043d\u0441\u043a\u0430\u043d" + }, + "shortNameTranslation": [] + } + }, + "season": { + "name": "Allsvenskan 2026", + "year": "2026", + "editor": false, + "id": 87925 + }, + "roundInfo": { "round": 12 }, + "customId": "jKsrK", + "status": { "code": 100, "description": "Ended", "type": "finished" }, + "winnerCode": 1, + "venue": { + "city": { + "name": "Stockholm", + "country": { + "alpha2": "SE", + "alpha3": "SWE", + "name": "Sweden", + "slug": "sweden" + }, + "id": 19506 + }, + "venueCoordinates": { "latitude": 59.291033, "longitude": 18.084543 }, + "hidden": true, + "slug": "tele2-arena", + "name": "3Arena", + "capacity": 32000, + "country": { + "alpha2": "SE", + "alpha3": "SWE", + "name": "Sweden", + "slug": "sweden" + }, + "id": 12373, + "fieldTranslations": { + "nameTranslation": { + "ar": "\u0645\u0644\u0639\u0628 \u062a\u064a\u0644\u064a 2", + "hi": "\u091f\u0947\u0932\u09402 \u090f\u0930\u093f\u0928\u093e", + "bn": "\u099f\u09bf\u0987\u098f\u09b2\u09872 \u098f\u09b0\u09bf\u09a8\u09be", + "ru": "\u0410\u0440\u0435\u043d\u0430 3" + }, + "shortNameTranslation": [] + }, + "stadium": { "name": "3Arena", "capacity": 32000 } + }, + "homeTeam": { + "name": "Djurg\u00e5rdens IF", + "slug": "djurgardens-if", + "shortName": "Djurg\u00e5rden", + "gender": "M", + "sport": { "name": "Football", "slug": "football", "id": 1 }, + "userCount": 42579, + "nameCode": "DIF", + "disabled": false, + "national": false, + "type": 0, + "country": { + "alpha2": "SE", + "alpha3": "SWE", + "name": "Sweden", + "slug": "sweden" + }, + "id": 1759, + "subTeams": [], + "teamColors": { + "primary": "#33ccff", + "secondary": "#000099", + "text": "#000099" + }, + "fieldTranslations": { + "nameTranslation": { + "ar": "\u062f\u064a\u0648\u0631\u063a\u0627\u0631\u062f\u0646\u0633 \u0625\u0641", + "ru": "\u0424\u041a \u042e\u0440\u0433\u043e\u0440\u0434\u0435\u043d" + }, + "shortNameTranslation": { + "ar": "\u062f\u064a\u0648\u0631\u063a\u0627\u0631\u062f\u0646", + "bn": "\u099c\u09c1\u09b0\u09cd\u0997\u09be\u09b0\u09cd\u09a1\u09c7\u09a8\u09b8", + "hi": "\u091c\u0941\u0930\u094d\u0917\u093e\u0930\u094d\u0921\u0947\u0928" + } + } + }, + "awayTeam": { + "name": "Halmstads BK", + "slug": "halmstads-bk", + "shortName": "Halmstad", + "gender": "M", + "sport": { "name": "Football", "slug": "football", "id": 1 }, + "userCount": 10732, + "nameCode": "HBK", + "disabled": false, + "national": false, + "type": 0, + "country": { + "alpha2": "SE", + "alpha3": "SWE", + "name": "Sweden", + "slug": "sweden" + }, + "id": 1767, + "subTeams": [], + "teamColors": { + "primary": "#0066ff", + "secondary": "#0066ff", + "text": "#0066ff" + }, + "fieldTranslations": { + "nameTranslation": { + "ar": "\u0647\u0627\u0644\u0645\u0633\u062a\u0627\u062f\u0632 \u0628\u064a \u0643\u064a\u0647", + "ru": "\u0424\u041a \u0425\u0430\u043b\u044c\u043c\u0441\u0442\u0430\u0434" + }, + "shortNameTranslation": [] + } + }, + "homeScore": { + "current": 3, + "display": 3, + "period1": 2, + "period2": 1, + "normaltime": 3 + }, + "awayScore": { + "current": 0, + "display": 0, + "period1": 0, + "period2": 0, + "normaltime": 0 + }, + "time": { + "injuryTime1": 3, + "injuryTime2": 3, + "currentPeriodStartTimestamp": 1783965872, + "lastPeriodEndTimestamp": 1783964942 + }, + "changes": { + "changes": ["status.code", "status.description", "status.type"], + "changeTimestamp": 1783968772 + }, + "hasGlobalHighlights": true, + "hasEventPlayerStatistics": true, + "hasEventPlayerHeatMap": true, + "detailId": 1, + "crowdsourcingDataDisplayEnabled": false, + "correctAiInsight": true, + "correctHalftimeAiInsight": true, + "id": 15272449, + "slug": "halmstads-bk-djurgardens-if", + "startTimestamp": 1783962000, + "finalResultOnly": false, + "feedLocked": true, + "isEditor": false, + "eventFilters": { + "category": ["club"], + "level": ["top-competitions", "pro"], + "gender": ["M"] + } +} diff --git a/grapper.sh b/grapper.sh index 72258e41..c2eb0575 100755 --- a/grapper.sh +++ b/grapper.sh @@ -30,19 +30,19 @@ case "$1" in # killall ssh # echo "\n⚽ TaskConfig start" - # php artisan nuh --d --f 67 --fun=3 --task=$1 + php artisan nuh --d --f 67 --fun=3 --task=$1 - echo "\n⚽ Days Tournament" - php artisan nuh --d --f 67 --fun=4 --task=$1 + # echo "\n⚽ Days Tournament" + # php artisan nuh --d --f 67 --fun=4 --task=$1 - echo "\n⚽ Grapper" - php artisan nuh --d --f 67 --fun=5 --task=$1 + # echo "\n⚽ Grapper" + # php artisan nuh --d --f 67 --fun=5 --task=$1 # echo "\n⚽ TaskConfig end" # php artisan nuh --d --f 67 --fun=6 --task=$1 - echo "\n⚽ CreateZip" - php artisan nuh --d --f 67 --fun=7 --task=$1 + # echo "\n⚽ CreateZip" + # php artisan nuh --d --f 67 --fun=7 --task=$1 # echo "\n⚽ SendMail" # php artisan nuh --d --f 67 --fun=8 --task=$1