]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/ImportBundle/Import/ReadabilityImport.php
Avoid losing entry when fetching fail
[github/wallabag/wallabag.git] / src / Wallabag / ImportBundle / Import / ReadabilityImport.php
index 915d4cd38508258a93817c0e493dbf21d862d2f7..fa2b705391707848389189a5810c2937303b5498 100644 (file)
@@ -44,17 +44,6 @@ class ReadabilityImport extends AbstractImport
         return $this;
     }
 
-    /**
-     * {@inheritdoc}
-     */
-    public function getSummary()
-    {
-        return [
-            'skipped' => $this->skippedEntries,
-            'imported' => $this->importedEntries,
-        ];
-    }
-
     /**
      * {@inheritdoc}
      */
@@ -89,6 +78,9 @@ class ReadabilityImport extends AbstractImport
         return true;
     }
 
+    /**
+     * {@inheritdoc}
+     */
     public function parseEntry(array $importedEntry)
     {
         $existingEntry = $this->em
@@ -108,23 +100,19 @@ class ReadabilityImport extends AbstractImport
             'language' => '',
             'is_archived' => $importedEntry['archive'] || $this->markAsRead,
             'is_starred' => $importedEntry['favorite'],
+            'created_at' => $importedEntry['date_added'],
         ];
 
-        $entry = $this->fetchContent(
-            new Entry($this->user),
-            $data['url'],
-            $data
-        );
+        $entry = new Entry($this->user);
+        $entry->setUrl($data['url']);
+        $entry->setTitle($data['title']);
 
-        // jump to next entry in case of problem while getting content
-        if (false === $entry) {
-            ++$this->skippedEntries;
-
-            return;
-        }
+        // update entry with content (in case fetching failed, the given entry will be return)
+        $entry = $this->fetchContent($entry, $data['url'], $data);
 
         $entry->setArchived($data['is_archived']);
         $entry->setStarred($data['is_starred']);
+        $entry->setCreatedAt(new \DateTime($data['created_at']));
 
         $this->em->persist($entry);
         ++$this->importedEntries;