]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/ImportBundle/Import/AbstractImport.php
Add a real configuration for CS-Fixer
[github/wallabag/wallabag.git] / src / Wallabag / ImportBundle / Import / AbstractImport.php
index bf568a1af4ec5a4d4a44963f7df7d0fff612cd09..cb46db09b5578a8cdc68b4aa7b9c75bca799cc22 100644 (file)
@@ -2,17 +2,17 @@
 
 namespace Wallabag\ImportBundle\Import;
 
+use Doctrine\ORM\EntityManager;
+use OldSound\RabbitMqBundle\RabbitMq\ProducerInterface;
 use Psr\Log\LoggerInterface;
 use Psr\Log\NullLogger;
-use Doctrine\ORM\EntityManager;
-use Wallabag\CoreBundle\Helper\ContentProxy;
+use Symfony\Component\EventDispatcher\EventDispatcherInterface;
 use Wallabag\CoreBundle\Entity\Entry;
 use Wallabag\CoreBundle\Entity\Tag;
+use Wallabag\CoreBundle\Event\EntrySavedEvent;
+use Wallabag\CoreBundle\Helper\ContentProxy;
 use Wallabag\CoreBundle\Helper\TagsAssigner;
 use Wallabag\UserBundle\Entity\User;
-use OldSound\RabbitMqBundle\RabbitMq\ProducerInterface;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
-use Wallabag\CoreBundle\Event\EntrySavedEvent;
 
 abstract class AbstractImport implements ImportInterface
 {
@@ -98,13 +98,26 @@ abstract class AbstractImport implements ImportInterface
     }
 
     /**
-     * Get whether articles should be fetched for updated content.
+     * {@inheritdoc}
      */
-    public function getDisableContentUpdate()
+    public function getSummary()
     {
-        return $this->disableContentUpdate;
+        return [
+            'skipped' => $this->skippedEntries,
+            'imported' => $this->importedEntries,
+            'queued' => $this->queuedEntries,
+        ];
     }
 
+    /**
+     * Parse one entry.
+     *
+     * @param array $importedEntry
+     *
+     * @return Entry
+     */
+    abstract public function parseEntry(array $importedEntry);
+
     /**
      * Fetch content from the ContentProxy (using graby).
      * If it fails return the given entry to be saved in all case (to avoid user to loose the content).
@@ -115,14 +128,11 @@ abstract class AbstractImport implements ImportInterface
      */
     protected function fetchContent(Entry $entry, $url, array $content = [])
     {
-        // be sure to set at least the given url
-        $content['url'] = isset($content['url']) ? $content['url'] : $url;
-
         try {
-            $this->contentProxy->importEntry($entry, $content, $this->disableContentUpdate);
+            $this->contentProxy->updateEntry($entry, $url, $content, $this->disableContentUpdate);
         } catch (\Exception $e) {
             $this->logger->error('Error trying to import an entry.', [
-                'entry_url' => $content['url'],
+                'entry_url' => $url,
                 'error_msg' => $e->getMessage(),
             ]);
         }
@@ -206,27 +216,6 @@ abstract class AbstractImport implements ImportInterface
         }
     }
 
-    /**
-     * {@inheritdoc}
-     */
-    public function getSummary()
-    {
-        return [
-            'skipped' => $this->skippedEntries,
-            'imported' => $this->importedEntries,
-            'queued' => $this->queuedEntries,
-        ];
-    }
-
-    /**
-     * Parse one entry.
-     *
-     * @param array $importedEntry
-     *
-     * @return Entry
-     */
-    abstract public function parseEntry(array $importedEntry);
-
     /**
      * Set current imported entry to archived / read.
      * Implementation is different accross all imports.