aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag/ImportBundle/Import/AbstractImport.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Wallabag/ImportBundle/Import/AbstractImport.php')
-rw-r--r--src/Wallabag/ImportBundle/Import/AbstractImport.php25
1 files changed, 12 insertions, 13 deletions
diff --git a/src/Wallabag/ImportBundle/Import/AbstractImport.php b/src/Wallabag/ImportBundle/Import/AbstractImport.php
index 58a234f4..1b073e99 100644
--- a/src/Wallabag/ImportBundle/Import/AbstractImport.php
+++ b/src/Wallabag/ImportBundle/Import/AbstractImport.php
@@ -46,8 +46,6 @@ abstract class AbstractImport implements ImportInterface
46 /** 46 /**
47 * Set RabbitMQ/Redis Producer to send each entry to a queue. 47 * Set RabbitMQ/Redis Producer to send each entry to a queue.
48 * This method should be called when user has enabled RabbitMQ. 48 * This method should be called when user has enabled RabbitMQ.
49 *
50 * @param ProducerInterface $producer
51 */ 49 */
52 public function setProducer(ProducerInterface $producer) 50 public function setProducer(ProducerInterface $producer)
53 { 51 {
@@ -57,8 +55,6 @@ abstract class AbstractImport implements ImportInterface
57 /** 55 /**
58 * Set current user. 56 * Set current user.
59 * Could the current *connected* user or one retrieve by the consumer. 57 * Could the current *connected* user or one retrieve by the consumer.
60 *
61 * @param User $user
62 */ 58 */
63 public function setUser(User $user) 59 public function setUser(User $user)
64 { 60 {
@@ -112,13 +108,18 @@ abstract class AbstractImport implements ImportInterface
112 /** 108 /**
113 * Parse one entry. 109 * Parse one entry.
114 * 110 *
115 * @param array $importedEntry
116 *
117 * @return Entry 111 * @return Entry
118 */ 112 */
119 abstract public function parseEntry(array $importedEntry); 113 abstract public function parseEntry(array $importedEntry);
120 114
121 /** 115 /**
116 * Validate that an entry is valid (like has some required keys, etc.).
117 *
118 * @return bool
119 */
120 abstract public function validateEntry(array $importedEntry);
121
122 /**
122 * Fetch content from the ContentProxy (using graby). 123 * Fetch content from the ContentProxy (using graby).
123 * If it fails return the given entry to be saved in all case (to avoid user to loose the content). 124 * If it fails return the given entry to be saved in all case (to avoid user to loose the content).
124 * 125 *
@@ -140,10 +141,8 @@ abstract class AbstractImport implements ImportInterface
140 141
141 /** 142 /**
142 * Parse and insert all given entries. 143 * Parse and insert all given entries.
143 *
144 * @param $entries
145 */ 144 */
146 protected function parseEntries($entries) 145 protected function parseEntries(array $entries)
147 { 146 {
148 $i = 1; 147 $i = 1;
149 $entryToBeFlushed = []; 148 $entryToBeFlushed = [];
@@ -153,6 +152,10 @@ abstract class AbstractImport implements ImportInterface
153 $importedEntry = $this->setEntryAsRead($importedEntry); 152 $importedEntry = $this->setEntryAsRead($importedEntry);
154 } 153 }
155 154
155 if (false === $this->validateEntry($importedEntry)) {
156 continue;
157 }
158
156 $entry = $this->parseEntry($importedEntry); 159 $entry = $this->parseEntry($importedEntry);
157 160
158 if (null === $entry) { 161 if (null === $entry) {
@@ -197,8 +200,6 @@ abstract class AbstractImport implements ImportInterface
197 * 200 *
198 * Faster parse entries for Producer. 201 * Faster parse entries for Producer.
199 * We don't care to make check at this time. They'll be done by the consumer. 202 * We don't care to make check at this time. They'll be done by the consumer.
200 *
201 * @param array $entries
202 */ 203 */
203 protected function parseEntriesForProducer(array $entries) 204 protected function parseEntriesForProducer(array $entries)
204 { 205 {
@@ -220,8 +221,6 @@ abstract class AbstractImport implements ImportInterface
220 * Set current imported entry to archived / read. 221 * Set current imported entry to archived / read.
221 * Implementation is different accross all imports. 222 * Implementation is different accross all imports.
222 * 223 *
223 * @param array $importedEntry
224 *
225 * @return array 224 * @return array
226 */ 225 */
227 abstract protected function setEntryAsRead(array $importedEntry); 226 abstract protected function setEntryAsRead(array $importedEntry);