diff options
Diffstat (limited to 'src/Wallabag/ImportBundle/Import/WallabagImport.php')
-rw-r--r-- | src/Wallabag/ImportBundle/Import/WallabagImport.php | 29 |
1 files changed, 8 insertions, 21 deletions
diff --git a/src/Wallabag/ImportBundle/Import/WallabagImport.php b/src/Wallabag/ImportBundle/Import/WallabagImport.php index 65803823..a1cc085b 100644 --- a/src/Wallabag/ImportBundle/Import/WallabagImport.php +++ b/src/Wallabag/ImportBundle/Import/WallabagImport.php | |||
@@ -2,19 +2,12 @@ | |||
2 | 2 | ||
3 | namespace Wallabag\ImportBundle\Import; | 3 | namespace Wallabag\ImportBundle\Import; |
4 | 4 | ||
5 | use Psr\Log\LoggerInterface; | ||
6 | use Psr\Log\NullLogger; | ||
7 | use Doctrine\ORM\EntityManager; | ||
8 | use Wallabag\CoreBundle\Entity\Entry; | 5 | use Wallabag\CoreBundle\Entity\Entry; |
9 | use Wallabag\UserBundle\Entity\User; | 6 | use Wallabag\UserBundle\Entity\User; |
10 | use Wallabag\CoreBundle\Helper\ContentProxy; | ||
11 | 7 | ||
12 | abstract class WallabagImport implements ImportInterface | 8 | abstract class WallabagImport extends AbstractImport |
13 | { | 9 | { |
14 | protected $user; | 10 | protected $user; |
15 | protected $em; | ||
16 | protected $logger; | ||
17 | protected $contentProxy; | ||
18 | protected $skippedEntries = 0; | 11 | protected $skippedEntries = 0; |
19 | protected $importedEntries = 0; | 12 | protected $importedEntries = 0; |
20 | protected $filepath; | 13 | protected $filepath; |
@@ -35,18 +28,6 @@ abstract class WallabagImport implements ImportInterface | |||
35 | '', | 28 | '', |
36 | ]; | 29 | ]; |
37 | 30 | ||
38 | public function __construct(EntityManager $em, ContentProxy $contentProxy) | ||
39 | { | ||
40 | $this->em = $em; | ||
41 | $this->logger = new NullLogger(); | ||
42 | $this->contentProxy = $contentProxy; | ||
43 | } | ||
44 | |||
45 | public function setLogger(LoggerInterface $logger) | ||
46 | { | ||
47 | $this->logger = $logger; | ||
48 | } | ||
49 | |||
50 | /** | 31 | /** |
51 | * We define the user in a custom call because on the import command there is no logged in user. | 32 | * We define the user in a custom call because on the import command there is no logged in user. |
52 | * So we can't retrieve user from the `security.token_storage` service. | 33 | * So we can't retrieve user from the `security.token_storage` service. |
@@ -159,12 +140,18 @@ abstract class WallabagImport implements ImportInterface | |||
159 | 140 | ||
160 | $data = $this->prepareEntry($importedEntry, $this->markAsRead); | 141 | $data = $this->prepareEntry($importedEntry, $this->markAsRead); |
161 | 142 | ||
162 | $entry = $this->contentProxy->updateEntry( | 143 | $entry = $this->fetchContent( |
163 | new Entry($this->user), | 144 | new Entry($this->user), |
164 | $importedEntry['url'], | 145 | $importedEntry['url'], |
165 | $data | 146 | $data |
166 | ); | 147 | ); |
167 | 148 | ||
149 | // jump to next entry in case of problem while getting content | ||
150 | if (false === $entry) { | ||
151 | ++$this->skippedEntries; | ||
152 | continue; | ||
153 | } | ||
154 | |||
168 | if (array_key_exists('tags', $data)) { | 155 | if (array_key_exists('tags', $data)) { |
169 | $this->contentProxy->assignTagsToEntry( | 156 | $this->contentProxy->assignTagsToEntry( |
170 | $entry, | 157 | $entry, |