From 4dc4efe10d5a578dd3a2e54b045cf4dbc2a557ae Mon Sep 17 00:00:00 2001 From: shibafu Date: Fri, 8 Jun 2018 00:44:42 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=A8=E3=83=AD=E6=BC=AB=E7=94=BB=E3=81=AE?= =?UTF-8?q?=E3=82=BF=E3=82=A4=E3=83=88=E3=83=AB=E3=81=8F=E3=82=89=E3=81=84?= =?UTF-8?q?=E3=81=AF=E5=8F=96=E3=82=8A=E3=81=9F=E3=81=8B=E3=81=A3=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/MetadataResolver/KomifloResolver.php | 30 +++++++++++++++++++++++ app/MetadataResolver/MetadataResolver.php | 1 + 2 files changed, 31 insertions(+) create mode 100644 app/MetadataResolver/KomifloResolver.php diff --git a/app/MetadataResolver/KomifloResolver.php b/app/MetadataResolver/KomifloResolver.php new file mode 100644 index 0000000..81e0577 --- /dev/null +++ b/app/MetadataResolver/KomifloResolver.php @@ -0,0 +1,30 @@ +get('https://api.komiflo.com/content/id/' . $id); + if ($res->getStatusCode() === 200) { + $json = json_decode($res->getBody()->getContents(), true); + $metadata = new Metadata(); + + $metadata->title = $json['content']['data']['title'] ?? ''; + $metadata->description = ($json['content']['attributes']['artists']['children'][0]['data']['name'] ?? '?') . + ' - ' . + ($json['content']['parents'][0]['data']['title'] ?? '?'); + + return $metadata; + } else { + throw new \RuntimeException("{$res->getStatusCode()}: $url"); + } + } +} \ No newline at end of file diff --git a/app/MetadataResolver/MetadataResolver.php b/app/MetadataResolver/MetadataResolver.php index 1896376..1a19f3a 100644 --- a/app/MetadataResolver/MetadataResolver.php +++ b/app/MetadataResolver/MetadataResolver.php @@ -7,6 +7,7 @@ class MetadataResolver implements Resolver public $rules = [ '~(((sp\.)?seiga\.nicovideo\.jp/seiga(/#!)?|nico\.ms))/im~' => NicoSeigaResolver::class, '~nijie\.info/view\.php~' => NijieResolver::class, + '~komiflo\.com(/#!)?/comics/(\\d+)~' => KomifloResolver::class, '/.*/' => OGPResolver::class ];