]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/ImportBundle/Import/PocketImport.php
Move assignTagsToEntry in ContentProxy helper
[github/wallabag/wallabag.git] / src / Wallabag / ImportBundle / Import / PocketImport.php
index 0463a7399804d1b367cc251dbf65768b268ae3fc..5dfd098caf5e0d6d01f4bbcaa7d2cba929c5c0c5 100644 (file)
@@ -9,7 +9,6 @@ use GuzzleHttp\Client;
 use GuzzleHttp\Exception\RequestException;
 use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
 use Wallabag\CoreBundle\Entity\Entry;
-use Wallabag\CoreBundle\Entity\Tag;
 use Wallabag\CoreBundle\Helper\ContentProxy;
 use Craue\ConfigBundle\Util\Config;
 
@@ -24,7 +23,6 @@ class PocketImport implements ImportInterface
     private $skippedEntries = 0;
     private $importedEntries = 0;
     protected $accessToken;
-    private $translator;
 
     public function __construct(TokenStorageInterface $tokenStorage, EntityManager $em, ContentProxy $contentProxy, Config $craueConfig)
     {
@@ -178,29 +176,6 @@ class PocketImport implements ImportInterface
         $this->client = $client;
     }
 
-    /**
-     * @todo move that in a more global place
-     */
-    private function assignTagsToEntry(Entry $entry, $tags)
-    {
-        foreach ($tags as $tag) {
-            $label = trim($tag['tag']);
-            $tagEntity = $this->em
-                ->getRepository('WallabagCoreBundle:Tag')
-                ->findOneByLabel($label);
-
-            if (is_object($tagEntity)) {
-                $entry->addTag($tagEntity);
-            } else {
-                $newTag = new Tag();
-                $newTag->setLabel($label);
-
-                $entry->addTag($newTag);
-            }
-            $this->em->flush();
-        }
-    }
-
     /**
      * @see https://getpocket.com/developer/docs/v3/retrieve
      *
@@ -250,7 +225,10 @@ class PocketImport implements ImportInterface
             }
 
             if (isset($pocketEntry['tags']) && !empty($pocketEntry['tags'])) {
-                $this->assignTagsToEntry($entry, $pocketEntry['tags']);
+                $this->contentProxy->assignTagsToEntry(
+                    $entry,
+                    array_keys($pocketEntry['tags'])
+                );
             }
 
             $this->em->persist($entry);