Loggingの削除・メソッドの説明をまともに

This commit is contained in:
eai04191 2019-01-14 16:11:14 +09:00
parent a645cb497f
commit b0a7504691

View File

@ -2,19 +2,31 @@
namespace App\MetadataResolver; namespace App\MetadataResolver;
use Illuminate\Support\Facades\Log;
class PixivResolver implements Resolver class PixivResolver implements Resolver
{ {
public function thumbnail_to_master_url(string $url):string {
// 最大長辺 1200 の画像に変換 /**
* サムネイル画像 URL から最大長辺 1200px の画像 URL に変換する
*
* @param string サムネイル画像 URL
* @return string 1200px の画像 URL
*/
public function thumbnail_to_master_url(string $url):string
{
$url = str_replace("/c/128x128", "", $url); $url = str_replace("/c/128x128", "", $url);
$url = str_replace("square1200.jpg", "master1200.jpg", $url); $url = str_replace("square1200.jpg", "master1200.jpg", $url);
return $url; return $url;
} }
public function proxize(string $url):string { /**
// pixiv.cat のプロキシ URL に変換する HUGE THANKS TO PIXIV.CAT! * 直リン可能な pixiv.cat のプロキシ URL に変換する
* HUGE THANKS TO PIXIV.CAT!
*
* @param string i.pximg URL
* @return string i.pixiv.cat URL
*/
public function proxize(string $url):string
{
$url = str_replace("i.pximg.net", "i.pixiv.cat", $url); $url = str_replace("i.pximg.net", "i.pixiv.cat", $url);
return $url; return $url;
} }
@ -30,9 +42,7 @@ class PixivResolver implements Resolver
$page = $match[1]; $page = $match[1];
// 未ログインでは漫画ページを開けないため、URL を作品ページに変換する // 未ログインでは漫画ページを開けないため、URL を作品ページに変換する
Log::debug($url);
$url = str_replace("mode=manga_big", "mode=medium", $url); $url = str_replace("mode=manga_big", "mode=medium", $url);
Log::debug($url);
$client = new \GuzzleHttp\Client(); $client = new \GuzzleHttp\Client();
$res = $client->get($url); $res = $client->get($url);
@ -42,16 +52,14 @@ class PixivResolver implements Resolver
preg_match("~https://i\.pximg\.net/c/128x128/img-master/img/\d{4}/\d{2}/\d{2}/\d{2}/\d{2}/\d{2}/{$illust_id}_p0_square1200\.jpg~", $res->getBody(), $match); preg_match("~https://i\.pximg\.net/c/128x128/img-master/img/\d{4}/\d{2}/\d{2}/\d{2}/\d{2}/\d{2}/{$illust_id}_p0_square1200\.jpg~", $res->getBody(), $match);
$illust_thumbnail_url = $match[0]; $illust_thumbnail_url = $match[0];
Log::debug($illust_thumbnail_url);
$illust_url = $this->thumbnail_to_master_url($illust_thumbnail_url); $illust_url = $this->thumbnail_to_master_url($illust_thumbnail_url);
Log::debug($illust_url);
// 指定ページに変換 // 指定ページに変換
$illust_url = str_replace("p0_master", "p{$page}_master", $illust_url); $illust_url = str_replace("p0_master", "p{$page}_master", $illust_url);
Log::debug($illust_url);
$metadata->image = $this->proxize($illust_url);; $metadata->image = $this->proxize($illust_url);
;
return $metadata; return $metadata;
} else { } else {
@ -74,7 +82,8 @@ class PixivResolver implements Resolver
$illust_url = $this->thumbnail_to_master_url($illust_thumbnail_url); $illust_url = $this->thumbnail_to_master_url($illust_thumbnail_url);
$metadata->image = $this->proxize($illust_url);; $metadata->image = $this->proxize($illust_url);
;
} }
} }
@ -82,7 +91,6 @@ class PixivResolver implements Resolver
} else { } else {
throw new \RuntimeException("{$res->getStatusCode()}: $url"); throw new \RuntimeException("{$res->getStatusCode()}: $url");
} }
} }
} }
} }