mirror of
https://github.com/wallabag/wallabag.git
synced 2024-12-27 01:50:29 +00:00
Fix because of some breaking changes of Graby 2.0
This commit is contained in:
parent
bf9ace0643
commit
5f08426201
4 changed files with 50 additions and 48 deletions
|
@ -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(),
|
||||
]
|
||||
);
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue