summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/Console/Kernel.php16
-rw-r--r--app/Http/Controllers/AnimeController.php19
-rw-r--r--app/Libraries/Background.php76
-rw-r--r--app/helpers.php17
4 files changed, 103 insertions, 25 deletions
diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php
index 8582678..7663b67 100644
--- a/app/Console/Kernel.php
+++ b/app/Console/Kernel.php
@@ -37,7 +37,9 @@ class Kernel extends ConsoleKernel
$background = new Background();
$background->saveAnimeStats();
})->everyThirtyMinutes()->name('saveStats')->withoutOverlapping();
- #})->everyMinute();
+ #})->everyThirtyMinutes()->name('saveStats5')->withoutOverlapping();
+ #})->everyMinute()->name('saveStats3')->withoutOverlapping();
+ #})->everyMinute()->name('saveStats5')->withoutOverlapping();
$schedule->call( function(){
$background = new Background();
@@ -64,6 +66,8 @@ class Kernel extends ConsoleKernel
$schedule->call( function(){
$background = new Background();
+ echo "saveTopAnime()";
+ $background->saveTopAnime();
echo"saveEnhancementForAll()\n";
$background->saveEnhancementForAll();
})->weeklyOn(1, '15:30');
@@ -79,6 +83,16 @@ class Kernel extends ConsoleKernel
})->everyMinute();
#})->twiceDaily(9, 23);
*/
+
+ /*
+ $schedule->call( function(){
+ $background = new Background();
+ #$background->checkIfIsAiring();
+ $background->saveTopAnime();
+ #$anime = Anime::where('mal_id', 40591)->get()->first();
+ #$background->saveAiring( $anime );
+ })->everyMinute()->name('saveTopAnime2')->withoutOverlapping();
+ */
}
/**
diff --git a/app/Http/Controllers/AnimeController.php b/app/Http/Controllers/AnimeController.php
index 461b583..1dd7c35 100644
--- a/app/Http/Controllers/AnimeController.php
+++ b/app/Http/Controllers/AnimeController.php
@@ -98,6 +98,8 @@ class AnimeController extends Controller {
#$anime = $anime->setTable('anime');
$anime = $anime->where('airing_status', env('ANIME_IS_AIRING'));
+ $anime = $anime->orderBy('season_year', 'desc');
+ $anime = $anime->orderByRaw('FIELD(season_name, "Summer", "Fall", "Winter", "Spring")');
$anime = $anime->orderBy('watching', 'desc');
$anime = $anime->orderBy('members', 'desc');
$anime = $anime->orderBy('score_today', 'desc');
@@ -105,4 +107,21 @@ class AnimeController extends Controller {
return view('index_anime', ["all_anime" => $anime, "most_suprising_anime" => $most_surprising_anime]);
}
+
+ public function showSurprisingAnime() {
+ $anime = new Anime;
+ $most_surprising_anime = $anime->setTable('view_anime_index');
+ $most_surprising_anime = $most_surprising_anime->simplePaginate(10);
+
+ return view('surprising_anime', ["surprising_anime" => $most_surprising_anime]);
+ }
+
+ public function showTopAnime() {
+ $anime = new Anime;
+ $anime = $anime->setTable('view_anime_index');
+ $anime = $anime->orderBy('score_today', 'desc');
+ $top_anime = $anime->simplePaginate(10);
+
+ return view('top_anime', ["top_anime" => $top_anime]);
+ }
}
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;
+ }
+
}
diff --git a/app/helpers.php b/app/helpers.php
index 7ac1fd6..9246362 100644
--- a/app/helpers.php
+++ b/app/helpers.php
@@ -66,3 +66,20 @@ function getAiringStatusCode($airing_status) {
}
return $status[0]->id;
}
+
+function getCurrentSeason(){
+ switch( date("m") ) {
+ case 1:
+ case 2:
+ case 3: return "Winter";
+ case 4:
+ case 5:
+ case 6: return "Spring";
+ case 7:
+ case 8:
+ case 9: return "Summer";
+ case 10:
+ case 11:
+ case 12: return "Fall";
+ }
+}