From 161c2b3bc1fae37f0fe76f988197c2d49c51bf9e Mon Sep 17 00:00:00 2001 From: Timothy J Warren Date: Tue, 28 Mar 2017 11:01:38 -0400 Subject: [PATCH] Update dependencies, use ParallelAPIRequest --- CHANGELOG.md | 1 + composer.json | 2 +- src/API/Kitsu/Model.php | 15 +++++++++------ 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cab3e75f..872ade6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ * Updated to use Kitsu API after discontinuation of Hummingbird * Added streaming links to list entries from the Kitsu API * Added simple integration with MyAnimeList, so an update can cross-post to both Kitsu and MyAnimeList +* Added character pages ## Version 3 * Converted user configuration to toml files diff --git a/composer.json b/composer.json index e71d64ee..26e7ae82 100644 --- a/composer.json +++ b/composer.json @@ -21,7 +21,7 @@ "aura/router": "^3.0", "aura/session": "^2.0", "aviat/banker": "^1.0.0", - "aviat/ion": "dev-master", + "aviat/ion": "^2.0.0", "monolog/monolog": "^1.0", "psr/http-message": "~1.0", "psr/log": "~1.0", diff --git a/src/API/Kitsu/Model.php b/src/API/Kitsu/Model.php index 7f4f5457..b7b840f1 100644 --- a/src/API/Kitsu/Model.php +++ b/src/API/Kitsu/Model.php @@ -19,7 +19,12 @@ namespace Aviat\AnimeClient\API\Kitsu; use function Amp\{all, wait}; use Amp\Artax\{Client, Request}; -use Aviat\AnimeClient\API\{CacheTrait, JsonAPI, Kitsu as K}; +use Aviat\AnimeClient\API\{ + CacheTrait, + JsonAPI, + Kitsu as K, + ParallelAPIRequest +}; use Aviat\AnimeClient\API\Enum\{ AnimeWatchingStatus\Title, AnimeWatchingStatus\Kitsu as KitsuWatchingStatus, @@ -343,18 +348,16 @@ class Model { $size = 100; $pages = ceil($count / $size); - $requests = []; + $requester = new ParallelAPIRequest(); // Set up requests for ($i = 0; $i < $pages; $i++) { $offset = $i * $size; - $requests[] = $this->getPagedAnimeList($size, $offset, $options); + $requester->addRequest($this->getPagedAnimeList($size, $offset, $options)); } - $promiseArray = (new Client())->requestMulti($requests); - - $responses = wait(all($promiseArray)); + $responses = $requester->makeRequests(); $output = []; foreach($responses as $response)