mirror of
https://github.com/wallabag/wallabag.git
synced 2024-12-27 18:10:28 +00:00
Errors in the automatic tagging do not prevent the entry from being added
This commit is contained in:
parent
1dc4e5da2e
commit
1c9cd2a7f0
3 changed files with 21 additions and 5 deletions
|
@ -3,6 +3,7 @@
|
|||
namespace Wallabag\CoreBundle\Helper;
|
||||
|
||||
use Graby\Graby;
|
||||
use Psr\Log\LoggerInterface as Logger;
|
||||
use Wallabag\CoreBundle\Entity\Entry;
|
||||
use Wallabag\CoreBundle\Tools\Utils;
|
||||
|
||||
|
@ -14,11 +15,13 @@ class ContentProxy
|
|||
{
|
||||
protected $graby;
|
||||
protected $tagger;
|
||||
protected $logger;
|
||||
|
||||
public function __construct(Graby $graby, RuleBasedTagger $tagger)
|
||||
public function __construct(Graby $graby, RuleBasedTagger $tagger, Logger $logger)
|
||||
{
|
||||
$this->graby = $graby;
|
||||
$this->tagger = $tagger;
|
||||
$this->logger = $logger;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -61,7 +64,14 @@ class ContentProxy
|
|||
$entry->setPreviewPicture($content['open_graph']['og_image']);
|
||||
}
|
||||
|
||||
$this->tagger->tag($entry);
|
||||
try {
|
||||
$this->tagger->tag($entry);
|
||||
} catch (\Exception $e) {
|
||||
$this->logger->error('Error while trying to automatically tag an entry.', array(
|
||||
'entry_url' => $url,
|
||||
'error_msg' => $e->getMessage(),
|
||||
));
|
||||
}
|
||||
|
||||
return $entry;
|
||||
}
|
||||
|
|
|
@ -54,6 +54,7 @@ services:
|
|||
arguments:
|
||||
- @wallabag_core.graby
|
||||
- @wallabag_core.rule_based_tagger
|
||||
- @logger
|
||||
|
||||
wallabag_core.rule_based_tagger:
|
||||
class: Wallabag\CoreBundle\Helper\RuleBasedTagger
|
||||
|
|
|
@ -29,7 +29,7 @@ class ContentProxyTest extends \PHPUnit_Framework_TestCase
|
|||
'language' => '',
|
||||
));
|
||||
|
||||
$proxy = new ContentProxy($graby, $tagger);
|
||||
$proxy = new ContentProxy($graby, $tagger, $this->getLoggerMock());
|
||||
$entry = $proxy->updateEntry(new Entry(new User()), 'http://0.0.0.0');
|
||||
|
||||
$this->assertEquals('http://0.0.0.0', $entry->getUrl());
|
||||
|
@ -67,7 +67,7 @@ class ContentProxyTest extends \PHPUnit_Framework_TestCase
|
|||
),
|
||||
));
|
||||
|
||||
$proxy = new ContentProxy($graby, $tagger);
|
||||
$proxy = new ContentProxy($graby, $tagger, $this->getLoggerMock());
|
||||
$entry = $proxy->updateEntry(new Entry(new User()), 'http://domain.io');
|
||||
|
||||
$this->assertEquals('http://domain.io', $entry->getUrl());
|
||||
|
@ -106,7 +106,7 @@ class ContentProxyTest extends \PHPUnit_Framework_TestCase
|
|||
),
|
||||
));
|
||||
|
||||
$proxy = new ContentProxy($graby, $tagger);
|
||||
$proxy = new ContentProxy($graby, $tagger, $this->getLoggerMock());
|
||||
$entry = $proxy->updateEntry(new Entry(new User()), 'http://0.0.0.0');
|
||||
|
||||
$this->assertEquals('http://1.1.1.1', $entry->getUrl());
|
||||
|
@ -126,4 +126,9 @@ class ContentProxyTest extends \PHPUnit_Framework_TestCase
|
|||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
}
|
||||
|
||||
private function getLoggerMock()
|
||||
{
|
||||
return $this->getMock('Psr\Log\LoggerInterface');
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue