diff options
Diffstat (limited to 'app/Libraries/Background.php')
| -rw-r--r-- | app/Libraries/Background.php | 76 |
1 files changed, 52 insertions, 24 deletions
diff --git a/app/Libraries/Background.php b/app/Libraries/Background.php index 9c9f336..8cfe9e1 100644 --- a/app/Libraries/Background.php +++ b/app/Libraries/Background.php @@ -126,31 +126,9 @@ class Background { sleep(10); foreach($season->anime as $entry) { - if ( Anime::where('mal_id', $entry->getMalID())->exists() ) { - /** - * We already have this anime saved. - */ - echo "saveSeason: Duplicate entry: (" . $entry->getMalID() . ") Continue\n"; - continue; - } - - $anime = new Anime(); - /** - * Sleep to avoid 403 by MAL. - */ - sleep(10); - $anime->fill( $entry->getMalID() ); - - if ( "" == $anime->url ) { - echo "saveSeason: url is empty for: " . $entry->getMalId() . "\n"; - continue; - } - - if( ! DB::table('anime')->where('mal_id', $entry->getMalID() )->exists() ) { - $anime->save(); - } - sleep(10); + $this->saveAnime($entry); + sleep(10); } } @@ -245,4 +223,54 @@ class Background { sleep(1); } } + + public function saveTopAnime() { + $jikan = new MalClient; + + for ( $page = 1; $page <= 10; $page++) { + $topAnime = $jikan->getTopAnime( + (new \Jikan\Request\Top\TopAnimeRequest($page)) + ); + + sleep(5); + foreach ( $topAnime as $anime) { + if ( $this->saveAnime($anime) ) { + echo "saveTopAnime: Saved (" . $anime->getMalId() . ")\n"; + } + sleep(5); + } + } + + } + + private function saveAnime($entry, $caller = "saveAnime") { + if ( Anime::where('mal_id', $entry->getMalID())->exists() ) { + /** + * We already have this anime saved. + */ + echo $caller . ": Duplicate entry: (" . $entry->getMalID() . ") Continue\n"; + + return false; + } + + $anime = new Anime(); + + /** + * Sleep to avoid 403 by MAL. + */ + $anime->fill( $entry->getMalID() ); + + if ( "" == $anime->url ) { + echo $caller . ": url is empty for: " . $entry->getMalId() . "\n"; + + return false; + } + + if( ! DB::table('anime')->where('mal_id', $entry->getMalID() )->exists() ) { + $anime->save(); + } + + return true; + } + } |
