summaryrefslogtreecommitdiff
path: root/app/Libraries/Background.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Libraries/Background.php')
-rw-r--r--app/Libraries/Background.php76
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;
+ }
+
}