]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Fix because of some breaking changes of Graby 2.0
authoradev <adev2000@gmail.com>
Sat, 11 Nov 2017 19:04:15 +0000 (20:04 +0100)
committerJeremy Benoist <jeremy.benoist@gmail.com>
Tue, 28 May 2019 09:42:27 +0000 (11:42 +0200)
src/Wallabag/ApiBundle/Controller/EntryRestController.php
src/Wallabag/CoreBundle/Helper/ContentProxy.php
src/Wallabag/ImportBundle/Import/WallabagV2Import.php
tests/Wallabag/CoreBundle/Helper/ContentProxyTest.php

index aff0534a056fcf0f08a124d3d093956e129ee6de..d9d99c85b0f55c6066cdb236734e37439035cb34 100644 (file)
@@ -369,9 +369,7 @@ class EntryRestController extends WallabagRestController
                     'language' => !empty($data['language']) ? $data['language'] : $entry->getLanguage(),
                     'date' => !empty($data['publishedAt']) ? $data['publishedAt'] : $entry->getPublishedAt(),
                     // faking the open graph preview picture
-                    'open_graph' => [
-                        'og_image' => !empty($data['picture']) ? $data['picture'] : $entry->getPreviewPicture(),
-                    ],
+                    'image' => !empty($data['picture']) ? $data['picture'] : $entry->getPreviewPicture(),
                     'authors' => \is_string($data['authors']) ? explode(',', $data['authors']) : $entry->getPublishedBy(),
                 ]
             );
index ca01dec8da44494fb9f0d0cc9b60412d4e0dd788..ac27e50a98e149d432b4414c97dd08333273da24 100644 (file)
@@ -253,16 +253,14 @@ class ContentProxy
 
         if (!empty($content['title'])) {
             $entry->setTitle($content['title']);
-        } elseif (!empty($content['open_graph']['og_title'])) {
-            $entry->setTitle($content['open_graph']['og_title']);
         }
 
         if (empty($content['html'])) {
             $content['html'] = $this->fetchingErrorMessage;
 
-            if (!empty($content['open_graph']['og_description'])) {
+            if (!empty($content['description'])) {
                 $content['html'] .= '<p><i>But we found a short description: </i></p>';
-                $content['html'] .= $content['open_graph']['og_description'];
+                $content['html'] .= $content['description'];
             }
         }
 
@@ -277,8 +275,8 @@ class ContentProxy
             $entry->setPublishedBy($content['authors']);
         }
 
-        if (!empty($content['all_headers']) && $this->storeArticleHeaders) {
-            $entry->setHeaders($content['all_headers']);
+        if (!empty($content['headers'])) {
+            $entry->setHeaders($content['headers']);
         }
 
         if (!empty($content['date'])) {
@@ -290,12 +288,12 @@ class ContentProxy
         }
 
         $previewPictureUrl = '';
-        if (!empty($content['open_graph']['og_image'])) {
-            $previewPictureUrl = $content['open_graph']['og_image'];
+        if (!empty($content['image'])) {
+            $previewPictureUrl = $content['image'];
         }
 
         // if content is an image, define it as a preview too
-        if (!empty($content['content_type']) && \in_array($this->mimeGuesser->guess($content['content_type']), ['jpeg', 'jpg', 'gif', 'png'], true)) {
+        if (!empty($content['headers']['content_type']) && \in_array($this->mimeGuesser->guess($content['headers']['content_type']), ['jpeg', 'jpg', 'gif', 'png'], true)) {
             $previewPictureUrl = $content['url'];
         } elseif (empty($previewPictureUrl)) {
             $this->logger->debug('Extracting images from content to provide a default preview picture');
@@ -310,8 +308,8 @@ class ContentProxy
             $this->updatePreviewPicture($entry, $previewPictureUrl);
         }
 
-        if (!empty($content['content_type'])) {
-            $entry->setMimetype($content['content_type']);
+        if (!empty($content['headers']['content-type'])) {
+            $entry->setMimetype($content['headers']['content-type']);
         }
 
         try {
index 3e085ecff6461b8a36fdc6ebd34225e5835c0623..2ba26003f784a5a2310a040cc5baf1dc0eecd1b9 100644 (file)
@@ -35,7 +35,9 @@ class WallabagV2Import extends WallabagImport
     {
         return [
             'html' => $entry['content'],
-            'content_type' => $entry['mimetype'],
+            'headers' => [
+                'content-type' => $entry['mimetype'],
+            ],
             'is_archived' => (bool) ($entry['is_archived'] || $this->markAsRead),
             'is_starred' => (bool) $entry['is_starred'],
         ] + $entry;
index c7caac1d326a3e60c1ebcbd2532f8bbd599c94dc..40a6cc802d0f6701fd12e83c4a1f9ba95c5e6577 100644 (file)
@@ -104,15 +104,12 @@ class ContentProxyTest extends TestCase
             ->method('fetchContent')
             ->willReturn([
                 'html' => false,
-                'title' => '',
+                'title' => 'my title',
                 'url' => '',
                 'content_type' => '',
                 'language' => '',
                 'status' => '',
-                'open_graph' => [
-                    'og_title' => 'my title',
-                    'og_description' => 'desc',
-                ],
+                'description' => 'desc',
             ]);
 
         $proxy = new ContentProxy($graby, $tagger, $this->getValidator(), $this->getLogger(), $this->fetchingErrorMessage);
@@ -147,13 +144,12 @@ class ContentProxyTest extends TestCase
                 'html' => str_repeat('this is my content', 325),
                 'title' => 'this is my title',
                 'url' => 'http://1.1.1.1',
-                'content_type' => 'text/html',
                 'language' => 'fr',
                 'status' => '200',
-                'open_graph' => [
-                    'og_title' => 'my OG title',
-                    'og_description' => 'OG desc',
-                    'og_image' => 'http://3.3.3.3/cover.jpg',
+                'description' => 'OG desc',
+                'image' => 'http://3.3.3.3/cover.jpg',
+                'headers' => [
+                    'content-type' => 'text/html',
                 ],
             ]);
 
@@ -189,13 +185,12 @@ class ContentProxyTest extends TestCase
                 'html' => str_repeat('this is my content', 325),
                 'title' => 'this is my title',
                 'url' => 'http://1.1.1.1',
-                'content_type' => 'text/html',
                 'language' => 'fr',
                 'status' => '200',
-                'open_graph' => [
-                    'og_title' => 'my OG title',
-                    'og_description' => 'OG desc',
-                    'og_image' => null,
+                'description' => 'OG desc',
+                'image' => null,
+                'headers' => [
+                    'content-type' => 'text/html',
                 ],
             ]);
 
@@ -320,9 +315,11 @@ class ContentProxyTest extends TestCase
                 'html' => str_repeat('this is my content', 325),
                 'title' => 'this is my title',
                 'url' => 'http://1.1.1.1',
-                'content_type' => 'text/html',
                 'language' => 'dontexist',
                 'status' => '200',
+                'headers' => [
+                    'content-type' => 'text/html',
+                ],
             ]);
 
         $proxy = new ContentProxy($graby, $tagger, $validator, $this->getLogger(), $this->fetchingErrorMessage);
@@ -367,10 +364,10 @@ class ContentProxyTest extends TestCase
                 'content_type' => 'text/html',
                 'language' => 'fr',
                 'status' => '200',
-                'open_graph' => [
-                    'og_title' => 'my OG title',
-                    'og_description' => 'OG desc',
-                    'og_image' => 'https://',
+                'description' => 'OG desc',
+                'image' => 'https://',
+                'headers' => [
+                    'content-type' => 'text/html',
                 ],
             ]);
 
@@ -404,12 +401,12 @@ class ContentProxyTest extends TestCase
                 'html' => str_repeat('this is my content', 325),
                 'title' => 'this is my title',
                 'url' => 'http://1.1.1.1',
-                'content_type' => 'text/html',
                 'language' => 'fr',
                 'date' => '1395635872',
                 'authors' => ['Jeremy', 'Nico', 'Thomas'],
-                'all_headers' => [
-                    'Cache-Control' => 'no-cache',
+                'headers' => [
+                    'cache-control' => 'no-cache',
+                    'content-type' => 'text/html',
                 ],
             ]
         );
@@ -447,9 +444,11 @@ class ContentProxyTest extends TestCase
                 'html' => str_repeat('this is my content', 325),
                 'title' => 'this is my title',
                 'url' => 'http://1.1.1.1',
-                'content_type' => 'text/html',
                 'language' => 'fr',
                 'date' => '2016-09-08T11:55:58+0200',
+                'headers' => [
+                    'content-type' => 'text/html',
+                ],
             ]
         );
 
@@ -482,9 +481,11 @@ class ContentProxyTest extends TestCase
                 'html' => str_repeat('this is my content', 325),
                 'title' => 'this is my title',
                 'url' => 'http://1.1.1.1',
-                'content_type' => 'text/html',
                 'language' => 'fr',
                 'date' => '01 02 2012',
+                'headers' => [
+                    'content-type' => 'text/html',
+                ],
             ]
         );
 
@@ -519,8 +520,10 @@ class ContentProxyTest extends TestCase
                 'html' => str_repeat('this is my content', 325),
                 'title' => 'this is my title',
                 'url' => 'http://1.1.1.1',
-                'content_type' => 'text/html',
                 'language' => 'fr',
+                'headers' => [
+                    'content-type' => 'text/html',
+                ],
             ]
         );
 
@@ -559,13 +562,13 @@ class ContentProxyTest extends TestCase
                 'html' => $html,
                 'title' => 'this is my title',
                 'url' => 'http://1.1.1.1',
-                'content_type' => 'text/html',
                 'language' => 'fr',
                 'status' => '200',
-                'open_graph' => [
-                    'og_title' => 'my OG title',
-                    'og_description' => 'OG desc',
-                    'og_image' => 'http://3.3.3.3/cover.jpg',
+                //'og_title' => 'my OG title',
+                'description' => 'OG desc',
+                'image' => 'http://3.3.3.3/cover.jpg',
+                'headers' => [
+                    'content-type' => 'text/html',
                 ],
             ]
         );
@@ -597,9 +600,10 @@ class ContentProxyTest extends TestCase
                 'html' => '<p><img src="http://1.1.1.1/image.jpg" /></p>',
                 'title' => 'this is my title',
                 'url' => 'http://1.1.1.1/image.jpg',
-                'content_type' => 'image/jpeg',
                 'status' => '200',
-                'open_graph' => [],
+                'headers' => [
+                    'content-type' => 'image/jpeg',
+                ],
             ]);
 
         $proxy = new ContentProxy($graby, $tagger, $this->getValidator(), $this->getLogger(), $this->fetchingErrorMessage);