class WallabagV1Import extends WallabagImport
{
+ protected $fetchingErrorMessage;
+ protected $fetchingErrorMessageTitle;
+
+ public function __construct($em, $contentProxy, $eventDispatcher, $fetchingErrorMessageTitle, $fetchingErrorMessage)
+ {
+ $this->fetchingErrorMessageTitle = $fetchingErrorMessageTitle;
+ $this->fetchingErrorMessage = $fetchingErrorMessage;
+
+ parent::__construct($em, $contentProxy, $eventDispatcher);
+ }
+
/**
* {@inheritdoc}
*/
'created_at' => '',
];
- // force content to be refreshed in case on bad fetch in the v1 installation
+ // In case of a bad fetch in v1, replace title and content with v2 error strings
+ // If fetching fails again, they will get this instead of the v1 strings
if (in_array($entry['title'], $this->untitled)) {
- $data['title'] = '';
- $data['html'] = '';
+ $data['title'] = $this->fetchingErrorMessageTitle;
+ $data['html'] = $this->fetchingErrorMessage;
}
if (array_key_exists('tags', $entry) && $entry['tags'] != '') {
- "@wallabag_core.content_proxy"
- "@wallabag_core.tags_assigner"
- "@event_dispatcher"
+ - "%wallabag_core.fetching_error_message_title%"
+ - "%wallabag_core.fetching_error_message%"
calls:
- [ setLogger, [ "@logger" ]]
tags:
protected $contentProxy;
protected $tagsAssigner;
protected $uow;
+ protected $fetchingErrorMessageTitle = 'No title found';
+ protected $fetchingErrorMessage = 'wallabag can\'t retrieve contents for this article. Please <a href="http://doc.wallabag.org/en/master/user/errors_during_fetching.html#how-can-i-help-to-fix-that">troubleshoot this issue</a>.';
private function getWallabagV1Import($unsetUser = false, $dispatched = 0)
{
->expects($this->exactly($dispatched))
->method('dispatch');
- $wallabag = new WallabagV1Import($this->em, $this->contentProxy, $this->tagsAssigner, $dispatcher);
+ $wallabag = new WallabagV1Import(
+ $this->em,
+ $this->contentProxy,
+ $this->tagsAssigner,
+ $dispatcher,
+ $this->fetchingErrorMessageTitle,
+ $this->fetchingErrorMessage
+ );
$this->logHandler = new TestHandler();
$logger = new Logger('test', [$this->logHandler]);