]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Add CLI import for wallabag v2 files
authorNicolas Lœuillet <nicolas@loeuillet.org>
Wed, 27 Apr 2016 18:30:24 +0000 (20:30 +0200)
committerNicolas Lœuillet <nicolas@loeuillet.org>
Fri, 27 May 2016 07:43:48 +0000 (09:43 +0200)
docs/en/user/migration.rst
docs/fr/user/migration.rst
src/Wallabag/ImportBundle/Command/ImportCommand.php

index e141ae40dd4226760cda1f073864d4448c321b34..cfbca92217ea72c1be7269ad5cc538055eff79d5 100644 (file)
@@ -24,20 +24,38 @@ After creating an user account on your new wallabag v2 instance, you must head o
    :alt: Import from wallabag v1
    :align: center
 
+From wallabag 2.x
+-----------------
+
+From the previous wallabag instance on which you were before, go to `All articles`, then export these articles as json.
+
+.. image:: ../../img/user/export_v2.png
+   :alt: Export depuis wallabag v2
+   :align: center
+
+From your new wallabag instance, create your user account and click on the link in the menu to proceed to import. Choose import from wallabag v2 and select your json file to upload it.
+
+.. note::
+    If you encounter issues during the export or the import, don't hesitate to `ask for support <https://www.wallabag.org/pages/support.html>`__.
+
 Import via command-line interface (CLI)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+---------------------------------------
 
 If you have a CLI access on your web server, you can execute this command to import your wallabag v1 export:
 
 ::
 
-    bin/console wallabag:import-v1 1 ~/Downloads/wallabag-export-1-2016-04-05.json --env=prod
+    bin/console wallabag:import 1 ~/Downloads/wallabag-export-1-2016-04-05.json --env=prod
 
 Please replace values:
 
 * ``1`` is the user identifier in database (The ID of the first user created on wallabag is 1)
 * ``~/Downloads/wallabag-export-1-2016-04-05.json`` is the path of your wallabag v1 export
 
+If you want to mark all these entries as read, you can add the ``--markAsRead=yes`` option.
+
+To import a wallabag v2 file, you need to add the option ``--importer=v2``.
+
 You'll have this in return:
 
 ::
@@ -46,17 +64,3 @@ You'll have this in return:
     403 imported
     0 already saved
     End : 05-04-2016 11:36:09 ---
-
-From wallabag 2.x
------------------
-
-From the previous wallabag instance on which you were before, go to `All articles`, then export these articles as json.
-
-.. image:: ../../img/user/export_v2.png
-   :alt: Export depuis wallabag v2
-   :align: center
-
-From your new wallabag instance, create your user account and click on the link in the menu to proceed to import. Choose import from wallabag v2 and select your json file to upload it.
-
-.. note::
-    If you encounter issues during the export or the import, don't hesitate to `ask for support <https://www.wallabag.org/pages/support.html>`__.
index 66024572bb54b702b318a61c2d6ededcae43d217..a69df2952c7a6a7c66260c8760d96a7c11cc3d26 100644 (file)
@@ -24,20 +24,38 @@ Une fois que vous avez créé un compte utilisateur sur votre nouvelle instance
    :alt: Import depuis wallabag v1
    :align: center
 
+Depuis wallabag 2.x
+-------------------
+
+Depuis l'instance sur laquelle vous étiez, rendez-vous dans la section `Tous les articles`, puis exportez ces articles au format json.
+
+.. image:: ../../img/user/export_v2.png
+   :alt: Export depuis wallabag v2
+   :align: center
+
+Depuis votre nouvelle instance de wallabag, créez votre compte utilisateur puis cliquez sur le lien dans le menu pour accéder à l'import. Choisissez l'import depuis wallabag v2 puis sélectionnez votre fichier json pour l'uploader.
+
+.. note::
+    S'il vous arrive des problèmes durant l'export ou l'import, n'hésitez pas à `demander de l'aide <https://www.wallabag.org/pages/support.html>`__.
+
 Import via via la ligne de commande (CLI)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-----------------------------------------
 
 Si vous avez accès à la ligne de commandes de votre serveur web, vous pouvez exécuter cette commande pour import votre fichier wallabag v1 :
 
 ::
 
-    bin/console wallabag:import-v1 1 ~/Downloads/wallabag-export-1-2016-04-05.json --env=prod
+    bin/console wallabag:import 1 ~/Downloads/wallabag-export-1-2016-04-05.json --env=prod
 
 Remplacez les valeurs :
 
 * ``1`` est l'identifiant de votre utilisateur en base (l'ID de votre premier utilisateur créé sur wallabag est 1)
 * ``~/Downloads/wallabag-export-1-2016-04-05.json`` est le chemin de votre export wallabag v1
 
+Si vous voulez marquer tous ces articles comme lus, vous pouvez ajouter l'option ``--markAsRead=yes``.
+
+Pour importer un fichier wallabag v2, vous devez ajouter l'option ``--importer=v2``.
+
 Vous obtiendrez :
 
 ::
@@ -46,17 +64,3 @@ Vous obtiendrez :
     403 imported
     0 already saved
     End : 05-04-2016 11:36:09 ---
-
-Depuis wallabag 2.x
--------------------
-
-Depuis l'instance sur laquelle vous étiez, rendez-vous dans la section `Tous les articles`, puis exportez ces articles au format json.
-
-.. image:: ../../img/user/export_v2.png
-   :alt: Export depuis wallabag v2
-   :align: center
-
-Depuis votre nouvelle instance de wallabag, créez votre compte utilisateur puis cliquez sur le lien dans le menu pour accéder à l'import. Choisissez l'import depuis wallabag v2 puis sélectionnez votre fichier json pour l'uploader.
-
-.. note::
-    S'il vous arrive des problèmes durant l'export ou l'import, n'hésitez pas à `demander de l'aide <https://www.wallabag.org/pages/support.html>`__.
index dfbfc2f792832739555918b806e016fedf42e406..f62176fc08345daadb3ed9bca341fe5960404c3a 100644 (file)
@@ -13,10 +13,12 @@ class ImportCommand extends ContainerAwareCommand
     protected function configure()
     {
         $this
-            ->setName('wallabag:import-v1')
+            ->setName('wallabag:import')
             ->setDescription('Import entries from a JSON export from a wallabag v1 instance')
             ->addArgument('userId', InputArgument::REQUIRED, 'User ID to populate')
             ->addArgument('filepath', InputArgument::REQUIRED, 'Path to the JSON file')
+            ->addOption('importer', null, InputArgument::OPTIONAL, 'The importer to use: v1 or v2', 'v1')
+            ->addOption('markAsRead', null, InputArgument::OPTIONAL, 'Mark all entries as read: true/false', false)
         ;
     }
 
@@ -35,6 +37,15 @@ class ImportCommand extends ContainerAwareCommand
         }
 
         $wallabag = $this->getContainer()->get('wallabag_import.wallabag_v1.import');
+
+        if ('v2' === $input->getOption('importer')) {
+            $wallabag = $this->getContainer()->get('wallabag_import.wallabag_v2.import');
+        }
+
+        if ('yes' === $input->getOption('markAsRead')) {
+            $wallabag->setMarkAsRead(true);
+        }
+
         $res = $wallabag
             ->setUser($user)
             ->setFilepath($input->getArgument('filepath'))