grapper wip

This commit is contained in:
salam committed 2026-06-19 17:27:27 +02:00
1 parent 3117a8dcbd
commit 7aa3c90344
3 files changed
+135 -56

No files matched your search

@@ -11,32 +11,84 @@ use Illuminate\Support\Facades\File;
class Events
{
public static $max_days = 30;
public static Carbon $days_back;
public static $storage_path = '/Console/Commands/Grapper/Sofascore/grapped/';
public static function load()
{
self::$days_back = Carbon::now()->subDays(self::$max_days);
$debug = Nuh::$options['d'] ?? 0;
$dback = Nuh::$options['days'] ?? 1;
$singleday = Nuh::$options['day'] ?? 0;
if($singleday){
$dback = 1;
}
$force = Nuh::$options['f'] ?? 0;
/**
* world cup => 16
* finland veikkaus => 41
*/
$tornaments = explode(',', Nuh::$options['groups']) ?? 0;
$sport_id = Nuh::$options['sport_id'];
foreach (Sofascore::$_days as $day) {
// for ($i = 1; $i <= $dback; $i++) {
// // remove one day to start yesterday
// $day = Carbon::now()->subDays($i)->format('Y-m-d');
// if ($debug) {
// Notice::note($day, 'p');
// }
// $ss_days = SofaScoreDayTournament::with('tournament')
// ->when($tornaments, function ($query) use ($tornaments) {
// return $query->whereIn('tournament_id', $tornaments);
// })
// ->whereHas('tournament', function ($query) use ($sport_id) {
// $query->where('sport_id', $sport_id);
// })
// ->where('day', $day)->get();
// foreach ($ss_days as $ss_day) {
// $sofa_score_categorie_id = $ss_day->tournament->sofa_score_categorie_id;
// // https://www.sofascore.com/api/v1/unique-tournament/16/scheduled-events/2026-06-19
// $url = Nuh::$options['base_url'] . "api/v1/category/$sofa_score_categorie_id/scheduled-events/$day";
// Notice::note($url, 'p');
// }
// }
// exit;
for ($i = 1; $i <= $dback; $i++) {
// remove one day to start yesterday
$day = Carbon::now()->subDays($i)->format('Y-m-d');
// call for spezific day
if($singleday){
$dback = 1;
$day = $singleday;
}
if ($debug) {
Notice::note($day, 'p');
}
$ss_days = SofaScoreDayTournament::with('tournament')
->when($tornaments, function ($query) use ($tornaments) {
return $query->whereIn('tournament_id', $tornaments);
})
->whereHas('tournament', function ($query) use ($sport_id) {
$query->where('sport_id', $sport_id);
})
->where('day', $day)->get();
foreach ($ss_days as $ss_day) {
$sofa_score_categorie_id = $ss_day->tournament->sofa_score_categorie_id;
$tournament_id = $ss_day->tournament_id;
$url = Nuh::$options['base_url'] . "api/v1/category/$sofa_score_categorie_id/scheduled-events/$day";
// $url = Nuh::$options['base_url'] . "api/v1/category/$sofa_score_categorie_id/scheduled-events/$day";
$url = Nuh::$options['base_url'] . "api/v1/unique-tournament/$tournament_id/scheduled-events/$day";
$rand = rand(500000, 1000000);
if ($debug) {
@@ -52,9 +104,7 @@ class Events
foreach ($data['events'] as $event) {
if ($event['season']['name'] != "World Cup 2026") {
Notice::note("All World Cup 2026 for " . $ss_day->day . ' grapped', 'bb', 1);
}
Notice::note($event['season']['name'].' '. $ss_day->day, 'bb');
$folder = app_path() . self::$storage_path . $ss_day->day . '/' . $event['tournament']['slug'] . '/' . $event['slug'];
@@ -66,10 +116,10 @@ class Events
File::put($folder . '/event.json', json_encode($event));
/*********************************
* EVENT statistics
*********************************/
$event_id = $event['id'];
$url = Nuh::$options['base_url'] . "api/v1/event/$event_id/statistics";
@@ -87,6 +137,7 @@ class Events
/*********************************
* EVENT lineups
*********************************/
$event_id = $event['id'];
$url = Nuh::$options['base_url'] . "api/v1/event/$event_id/lineups";
@@ -105,6 +156,7 @@ class Events
/*********************************
* EVENT lineups
*********************************/
$event_id = $event['id'];
$url = Nuh::$options['base_url'] . "api/v1/event/$event_id/odds/1/all";
@@ -17,21 +17,37 @@ use Illuminate\Support\Facades\Log;
class Tournament
{
public static $max_days = 30;
public static Carbon $days_back;
public static function load()
{
self::$days_back = Carbon::now()->subDays(self::$max_days);
$debug = Nuh::$options['d'] ?? 0;
$dback = Nuh::$options['days'] ?? 1;
$singleday = Nuh::$options['day'] ?? 0;
if($singleday){
$dback = 1;
}
$force = Nuh::$options['f'] ?? 0;
$sport_id = Nuh::$options['sport_id'];
$sport = Sport::where('id', $sport_id)->first();
foreach (Sofascore::$_days as $day) {
for ($i = 1; $i <= $dback; $i++) {
// remove one day to start yesterday
$day = Carbon::now()->subDays($i)->format('Y-m-d');
// call for spezific day
if($singleday){
$dback = 1;
$day = $singleday;
}
if ($debug) {
Notice::note($day, 'p');
}
$tournaments_counter = 0;
@@ -41,7 +57,7 @@ class Tournament
if ($force || ! SofaScoreDay::where('day', $day)->where($sport->ss_slug, 1)->first()) {
if ($debug) {
Notice::note('Grapping Sport: ' . Nuh::$options['sport'] . ' Day: ' . $day, 'g');
Notice::note('Grapping Sport: ' . Nuh::$options['sport'] . ' Day: ' . $day, 'p');
}
$page = 1;
@@ -63,7 +79,7 @@ class Tournament
$page = false;
}
$page = false;
// $page = false;
foreach ($data['scheduled'] as $row) {