->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('importer', null, InputArgument::OPTIONAL, 'The importer to use: wallabag v1, v2, firefox or chrome', 'v1')
->addOption('markAsRead', null, InputArgument::OPTIONAL, 'Mark all entries as read', false)
;
}
throw new Exception(sprintf('User with id "%s" not found', $input->getArgument('userId')));
}
- $wallabag = $this->getContainer()->get('wallabag_import.wallabag_v1.import');
-
- if ('v2' === $input->getOption('importer')) {
- $wallabag = $this->getContainer()->get('wallabag_import.wallabag_v2.import');
+ switch ($input->getOption('importer')) {
+ case 'v2':
+ $wallabag = $this->getContainer()->get('wallabag_import.wallabag_v2.import');
+ break;
+ case 'firefox':
+ $wallabag = $this->getContainer()->get('wallabag_import.firefox.import');
+ break;
+ case 'chrome':
+ $wallabag = $this->getContainer()->get('wallabag_import.chrome.import');
+ break;
+ case 'instapaper':
+ $wallabag = $this->getContainer()->get('wallabag_import.instapaper.import');
+ break;
+ case 'v1':
+ default:
+ $wallabag = $this->getContainer()->get('wallabag_import.wallabag_v1.import');
+ break;
}
$wallabag->setMarkAsRead($input->getOption('markAsRead'));