diff options
author | Jeremy Benoist <j0k3r@users.noreply.github.com> | 2016-11-03 16:22:07 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-03 16:22:07 +0100 |
commit | da4136557963018287cae61226e9006c3c741747 (patch) | |
tree | 6bf23c0d32f3780843798ae47c65377ae1ff961a /src/Wallabag/ImportBundle | |
parent | 816c0940d142f8ec69bdd3f302c9751033cce7e2 (diff) | |
parent | ca08d02f2f17c0e4ec0152a701c540f62713a428 (diff) | |
download | wallabag-da4136557963018287cae61226e9006c3c741747.tar.gz wallabag-da4136557963018287cae61226e9006c3c741747.tar.zst wallabag-da4136557963018287cae61226e9006c3c741747.zip |
Merge pull request #2180 from wallabag/download-pictures
Download pictures
Diffstat (limited to 'src/Wallabag/ImportBundle')
16 files changed, 101 insertions, 26 deletions
diff --git a/src/Wallabag/ImportBundle/Command/ImportCommand.php b/src/Wallabag/ImportBundle/Command/ImportCommand.php index 1df38295..2f7a906e 100644 --- a/src/Wallabag/ImportBundle/Command/ImportCommand.php +++ b/src/Wallabag/ImportBundle/Command/ImportCommand.php | |||
@@ -14,10 +14,10 @@ class ImportCommand extends ContainerAwareCommand | |||
14 | { | 14 | { |
15 | $this | 15 | $this |
16 | ->setName('wallabag:import') | 16 | ->setName('wallabag:import') |
17 | ->setDescription('Import entries from a JSON export from a wallabag v1 instance') | 17 | ->setDescription('Import entries from a JSON export') |
18 | ->addArgument('userId', InputArgument::REQUIRED, 'User ID to populate') | 18 | ->addArgument('userId', InputArgument::REQUIRED, 'User ID to populate') |
19 | ->addArgument('filepath', InputArgument::REQUIRED, 'Path to the JSON file') | 19 | ->addArgument('filepath', InputArgument::REQUIRED, 'Path to the JSON file') |
20 | ->addOption('importer', null, InputArgument::OPTIONAL, 'The importer to use: wallabag v1, v2, firefox or chrome', 'v1') | 20 | ->addOption('importer', null, InputArgument::OPTIONAL, 'The importer to use: v1, v2, instapaper, readability, firefox or chrome', 'v1') |
21 | ->addOption('markAsRead', null, InputArgument::OPTIONAL, 'Mark all entries as read', false) | 21 | ->addOption('markAsRead', null, InputArgument::OPTIONAL, 'Mark all entries as read', false) |
22 | ; | 22 | ; |
23 | } | 23 | } |
@@ -42,29 +42,35 @@ class ImportCommand extends ContainerAwareCommand | |||
42 | 42 | ||
43 | switch ($input->getOption('importer')) { | 43 | switch ($input->getOption('importer')) { |
44 | case 'v2': | 44 | case 'v2': |
45 | $wallabag = $this->getContainer()->get('wallabag_import.wallabag_v2.import'); | 45 | $import = $this->getContainer()->get('wallabag_import.wallabag_v2.import'); |
46 | break; | 46 | break; |
47 | case 'firefox': | 47 | case 'firefox': |
48 | $wallabag = $this->getContainer()->get('wallabag_import.firefox.import'); | 48 | $import = $this->getContainer()->get('wallabag_import.firefox.import'); |
49 | break; | 49 | break; |
50 | case 'chrome': | 50 | case 'chrome': |
51 | $wallabag = $this->getContainer()->get('wallabag_import.chrome.import'); | 51 | $import = $this->getContainer()->get('wallabag_import.chrome.import'); |
52 | break; | ||
53 | case 'readability': | ||
54 | $import = $this->getContainer()->get('wallabag_import.readability.import'); | ||
55 | break; | ||
56 | case 'instapaper': | ||
57 | $import = $this->getContainer()->get('wallabag_import.instapaper.import'); | ||
52 | break; | 58 | break; |
53 | case 'v1': | 59 | case 'v1': |
54 | default: | 60 | default: |
55 | $wallabag = $this->getContainer()->get('wallabag_import.wallabag_v1.import'); | 61 | $import = $this->getContainer()->get('wallabag_import.wallabag_v1.import'); |
56 | break; | 62 | break; |
57 | } | 63 | } |
58 | 64 | ||
59 | $wallabag->setMarkAsRead($input->getOption('markAsRead')); | 65 | $import->setMarkAsRead($input->getOption('markAsRead')); |
60 | $wallabag->setUser($user); | 66 | $import->setUser($user); |
61 | 67 | ||
62 | $res = $wallabag | 68 | $res = $import |
63 | ->setFilepath($input->getArgument('filepath')) | 69 | ->setFilepath($input->getArgument('filepath')) |
64 | ->import(); | 70 | ->import(); |
65 | 71 | ||
66 | if (true === $res) { | 72 | if (true === $res) { |
67 | $summary = $wallabag->getSummary(); | 73 | $summary = $import->getSummary(); |
68 | $output->writeln('<info>'.$summary['imported'].' imported</info>'); | 74 | $output->writeln('<info>'.$summary['imported'].' imported</info>'); |
69 | $output->writeln('<comment>'.$summary['skipped'].' already saved</comment>'); | 75 | $output->writeln('<comment>'.$summary['skipped'].' already saved</comment>'); |
70 | } | 76 | } |
diff --git a/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php b/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php index b893ea29..aa7ff914 100644 --- a/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php +++ b/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php | |||
@@ -9,6 +9,8 @@ use Wallabag\CoreBundle\Entity\Entry; | |||
9 | use Wallabag\CoreBundle\Entity\Tag; | 9 | use Wallabag\CoreBundle\Entity\Tag; |
10 | use Psr\Log\LoggerInterface; | 10 | use Psr\Log\LoggerInterface; |
11 | use Psr\Log\NullLogger; | 11 | use Psr\Log\NullLogger; |
12 | use Symfony\Component\EventDispatcher\EventDispatcherInterface; | ||
13 | use Wallabag\CoreBundle\Event\EntrySavedEvent; | ||
12 | 14 | ||
13 | abstract class AbstractConsumer | 15 | abstract class AbstractConsumer |
14 | { | 16 | { |
@@ -17,11 +19,12 @@ abstract class AbstractConsumer | |||
17 | protected $import; | 19 | protected $import; |
18 | protected $logger; | 20 | protected $logger; |
19 | 21 | ||
20 | public function __construct(EntityManager $em, UserRepository $userRepository, AbstractImport $import, LoggerInterface $logger = null) | 22 | public function __construct(EntityManager $em, UserRepository $userRepository, AbstractImport $import, EventDispatcherInterface $eventDispatcher, LoggerInterface $logger = null) |
21 | { | 23 | { |
22 | $this->em = $em; | 24 | $this->em = $em; |
23 | $this->userRepository = $userRepository; | 25 | $this->userRepository = $userRepository; |
24 | $this->import = $import; | 26 | $this->import = $import; |
27 | $this->eventDispatcher = $eventDispatcher; | ||
25 | $this->logger = $logger ?: new NullLogger(); | 28 | $this->logger = $logger ?: new NullLogger(); |
26 | } | 29 | } |
27 | 30 | ||
@@ -59,6 +62,9 @@ abstract class AbstractConsumer | |||
59 | try { | 62 | try { |
60 | $this->em->flush(); | 63 | $this->em->flush(); |
61 | 64 | ||
65 | // entry saved, dispatch event about it! | ||
66 | $this->eventDispatcher->dispatch(EntrySavedEvent::NAME, new EntrySavedEvent($entry)); | ||
67 | |||
62 | // clear only affected entities | 68 | // clear only affected entities |
63 | $this->em->clear(Entry::class); | 69 | $this->em->clear(Entry::class); |
64 | $this->em->clear(Tag::class); | 70 | $this->em->clear(Tag::class); |
diff --git a/src/Wallabag/ImportBundle/Import/AbstractImport.php b/src/Wallabag/ImportBundle/Import/AbstractImport.php index 764b390a..1d4a6e27 100644 --- a/src/Wallabag/ImportBundle/Import/AbstractImport.php +++ b/src/Wallabag/ImportBundle/Import/AbstractImport.php | |||
@@ -10,12 +10,15 @@ use Wallabag\CoreBundle\Entity\Entry; | |||
10 | use Wallabag\CoreBundle\Entity\Tag; | 10 | use Wallabag\CoreBundle\Entity\Tag; |
11 | use Wallabag\UserBundle\Entity\User; | 11 | use Wallabag\UserBundle\Entity\User; |
12 | use OldSound\RabbitMqBundle\RabbitMq\ProducerInterface; | 12 | use OldSound\RabbitMqBundle\RabbitMq\ProducerInterface; |
13 | use Symfony\Component\EventDispatcher\EventDispatcherInterface; | ||
14 | use Wallabag\CoreBundle\Event\EntrySavedEvent; | ||
13 | 15 | ||
14 | abstract class AbstractImport implements ImportInterface | 16 | abstract class AbstractImport implements ImportInterface |
15 | { | 17 | { |
16 | protected $em; | 18 | protected $em; |
17 | protected $logger; | 19 | protected $logger; |
18 | protected $contentProxy; | 20 | protected $contentProxy; |
21 | protected $eventDispatcher; | ||
19 | protected $producer; | 22 | protected $producer; |
20 | protected $user; | 23 | protected $user; |
21 | protected $markAsRead; | 24 | protected $markAsRead; |
@@ -23,11 +26,12 @@ abstract class AbstractImport implements ImportInterface | |||
23 | protected $importedEntries = 0; | 26 | protected $importedEntries = 0; |
24 | protected $queuedEntries = 0; | 27 | protected $queuedEntries = 0; |
25 | 28 | ||
26 | public function __construct(EntityManager $em, ContentProxy $contentProxy) | 29 | public function __construct(EntityManager $em, ContentProxy $contentProxy, EventDispatcherInterface $eventDispatcher) |
27 | { | 30 | { |
28 | $this->em = $em; | 31 | $this->em = $em; |
29 | $this->logger = new NullLogger(); | 32 | $this->logger = new NullLogger(); |
30 | $this->contentProxy = $contentProxy; | 33 | $this->contentProxy = $contentProxy; |
34 | $this->eventDispatcher = $eventDispatcher; | ||
31 | } | 35 | } |
32 | 36 | ||
33 | public function setLogger(LoggerInterface $logger) | 37 | public function setLogger(LoggerInterface $logger) |
@@ -104,6 +108,7 @@ abstract class AbstractImport implements ImportInterface | |||
104 | protected function parseEntries($entries) | 108 | protected function parseEntries($entries) |
105 | { | 109 | { |
106 | $i = 1; | 110 | $i = 1; |
111 | $entryToBeFlushed = []; | ||
107 | 112 | ||
108 | foreach ($entries as $importedEntry) { | 113 | foreach ($entries as $importedEntry) { |
109 | if ($this->markAsRead) { | 114 | if ($this->markAsRead) { |
@@ -116,10 +121,21 @@ abstract class AbstractImport implements ImportInterface | |||
116 | continue; | 121 | continue; |
117 | } | 122 | } |
118 | 123 | ||
124 | // store each entry to be flushed so we can trigger the entry.saved event for each of them | ||
125 | // entry.saved needs the entry to be persisted in db because it needs it id to generate | ||
126 | // images (at least) | ||
127 | $entryToBeFlushed[] = $entry; | ||
128 | |||
119 | // flush every 20 entries | 129 | // flush every 20 entries |
120 | if (($i % 20) === 0) { | 130 | if (($i % 20) === 0) { |
121 | $this->em->flush(); | 131 | $this->em->flush(); |
122 | 132 | ||
133 | foreach ($entryToBeFlushed as $entry) { | ||
134 | $this->eventDispatcher->dispatch(EntrySavedEvent::NAME, new EntrySavedEvent($entry)); | ||
135 | } | ||
136 | |||
137 | $entryToBeFlushed = []; | ||
138 | |||
123 | // clear only affected entities | 139 | // clear only affected entities |
124 | $this->em->clear(Entry::class); | 140 | $this->em->clear(Entry::class); |
125 | $this->em->clear(Tag::class); | 141 | $this->em->clear(Tag::class); |
@@ -128,6 +144,12 @@ abstract class AbstractImport implements ImportInterface | |||
128 | } | 144 | } |
129 | 145 | ||
130 | $this->em->flush(); | 146 | $this->em->flush(); |
147 | |||
148 | if (!empty($entryToBeFlushed)) { | ||
149 | foreach ($entryToBeFlushed as $entry) { | ||
150 | $this->eventDispatcher->dispatch(EntrySavedEvent::NAME, new EntrySavedEvent($entry)); | ||
151 | } | ||
152 | } | ||
131 | } | 153 | } |
132 | 154 | ||
133 | /** | 155 | /** |
diff --git a/src/Wallabag/ImportBundle/Import/BrowserImport.php b/src/Wallabag/ImportBundle/Import/BrowserImport.php index 2ca1683b..8bf7d92e 100644 --- a/src/Wallabag/ImportBundle/Import/BrowserImport.php +++ b/src/Wallabag/ImportBundle/Import/BrowserImport.php | |||
@@ -5,6 +5,7 @@ namespace Wallabag\ImportBundle\Import; | |||
5 | use Wallabag\CoreBundle\Entity\Entry; | 5 | use Wallabag\CoreBundle\Entity\Entry; |
6 | use Wallabag\UserBundle\Entity\User; | 6 | use Wallabag\UserBundle\Entity\User; |
7 | use Wallabag\CoreBundle\Helper\ContentProxy; | 7 | use Wallabag\CoreBundle\Helper\ContentProxy; |
8 | use Wallabag\CoreBundle\Event\EntrySavedEvent; | ||
8 | 9 | ||
9 | abstract class BrowserImport extends AbstractImport | 10 | abstract class BrowserImport extends AbstractImport |
10 | { | 11 | { |
@@ -81,6 +82,7 @@ abstract class BrowserImport extends AbstractImport | |||
81 | protected function parseEntries($entries) | 82 | protected function parseEntries($entries) |
82 | { | 83 | { |
83 | $i = 1; | 84 | $i = 1; |
85 | $entryToBeFlushed = []; | ||
84 | 86 | ||
85 | foreach ($entries as $importedEntry) { | 87 | foreach ($entries as $importedEntry) { |
86 | if ((array) $importedEntry !== $importedEntry) { | 88 | if ((array) $importedEntry !== $importedEntry) { |
@@ -93,14 +95,29 @@ abstract class BrowserImport extends AbstractImport | |||
93 | continue; | 95 | continue; |
94 | } | 96 | } |
95 | 97 | ||
98 | // @see AbstractImport | ||
99 | $entryToBeFlushed[] = $entry; | ||
100 | |||
96 | // flush every 20 entries | 101 | // flush every 20 entries |
97 | if (($i % 20) === 0) { | 102 | if (($i % 20) === 0) { |
98 | $this->em->flush(); | 103 | $this->em->flush(); |
104 | |||
105 | foreach ($entryToBeFlushed as $entry) { | ||
106 | $this->eventDispatcher->dispatch(EntrySavedEvent::NAME, new EntrySavedEvent($entry)); | ||
107 | } | ||
108 | |||
109 | $entryToBeFlushed = []; | ||
99 | } | 110 | } |
100 | ++$i; | 111 | ++$i; |
101 | } | 112 | } |
102 | 113 | ||
103 | $this->em->flush(); | 114 | $this->em->flush(); |
115 | |||
116 | if (!empty($entryToBeFlushed)) { | ||
117 | foreach ($entryToBeFlushed as $entry) { | ||
118 | $this->eventDispatcher->dispatch(EntrySavedEvent::NAME, new EntrySavedEvent($entry)); | ||
119 | } | ||
120 | } | ||
104 | } | 121 | } |
105 | 122 | ||
106 | /** | 123 | /** |
diff --git a/src/Wallabag/ImportBundle/Import/PocketImport.php b/src/Wallabag/ImportBundle/Import/PocketImport.php index 327e2500..33093480 100644 --- a/src/Wallabag/ImportBundle/Import/PocketImport.php +++ b/src/Wallabag/ImportBundle/Import/PocketImport.php | |||
@@ -2,8 +2,6 @@ | |||
2 | 2 | ||
3 | namespace Wallabag\ImportBundle\Import; | 3 | namespace Wallabag\ImportBundle\Import; |
4 | 4 | ||
5 | use Psr\Log\NullLogger; | ||
6 | use Doctrine\ORM\EntityManager; | ||
7 | use GuzzleHttp\Client; | 5 | use GuzzleHttp\Client; |
8 | use GuzzleHttp\Exception\RequestException; | 6 | use GuzzleHttp\Exception\RequestException; |
9 | use Wallabag\CoreBundle\Entity\Entry; | 7 | use Wallabag\CoreBundle\Entity\Entry; |
@@ -16,13 +14,6 @@ class PocketImport extends AbstractImport | |||
16 | 14 | ||
17 | const NB_ELEMENTS = 5000; | 15 | const NB_ELEMENTS = 5000; |
18 | 16 | ||
19 | public function __construct(EntityManager $em, ContentProxy $contentProxy) | ||
20 | { | ||
21 | $this->em = $em; | ||
22 | $this->contentProxy = $contentProxy; | ||
23 | $this->logger = new NullLogger(); | ||
24 | } | ||
25 | |||
26 | /** | 17 | /** |
27 | * Only used for test purpose. | 18 | * Only used for test purpose. |
28 | * | 19 | * |
diff --git a/src/Wallabag/ImportBundle/Resources/config/rabbit.yml b/src/Wallabag/ImportBundle/Resources/config/rabbit.yml index 70b8a0d4..a5af5282 100644 --- a/src/Wallabag/ImportBundle/Resources/config/rabbit.yml +++ b/src/Wallabag/ImportBundle/Resources/config/rabbit.yml | |||
@@ -6,6 +6,7 @@ services: | |||
6 | - "@doctrine.orm.entity_manager" | 6 | - "@doctrine.orm.entity_manager" |
7 | - "@wallabag_user.user_repository" | 7 | - "@wallabag_user.user_repository" |
8 | - "@wallabag_import.pocket.import" | 8 | - "@wallabag_import.pocket.import" |
9 | - "@event_dispatcher" | ||
9 | - "@logger" | 10 | - "@logger" |
10 | wallabag_import.consumer.amqp.readability: | 11 | wallabag_import.consumer.amqp.readability: |
11 | class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer | 12 | class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer |
@@ -13,6 +14,7 @@ services: | |||
13 | - "@doctrine.orm.entity_manager" | 14 | - "@doctrine.orm.entity_manager" |
14 | - "@wallabag_user.user_repository" | 15 | - "@wallabag_user.user_repository" |
15 | - "@wallabag_import.readability.import" | 16 | - "@wallabag_import.readability.import" |
17 | - "@event_dispatcher" | ||
16 | - "@logger" | 18 | - "@logger" |
17 | wallabag_import.consumer.amqp.instapaper: | 19 | wallabag_import.consumer.amqp.instapaper: |
18 | class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer | 20 | class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer |
@@ -20,6 +22,7 @@ services: | |||
20 | - "@doctrine.orm.entity_manager" | 22 | - "@doctrine.orm.entity_manager" |
21 | - "@wallabag_user.user_repository" | 23 | - "@wallabag_user.user_repository" |
22 | - "@wallabag_import.instapaper.import" | 24 | - "@wallabag_import.instapaper.import" |
25 | - "@event_dispatcher" | ||
23 | - "@logger" | 26 | - "@logger" |
24 | wallabag_import.consumer.amqp.wallabag_v1: | 27 | wallabag_import.consumer.amqp.wallabag_v1: |
25 | class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer | 28 | class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer |
@@ -27,6 +30,7 @@ services: | |||
27 | - "@doctrine.orm.entity_manager" | 30 | - "@doctrine.orm.entity_manager" |
28 | - "@wallabag_user.user_repository" | 31 | - "@wallabag_user.user_repository" |
29 | - "@wallabag_import.wallabag_v1.import" | 32 | - "@wallabag_import.wallabag_v1.import" |
33 | - "@event_dispatcher" | ||
30 | - "@logger" | 34 | - "@logger" |
31 | wallabag_import.consumer.amqp.wallabag_v2: | 35 | wallabag_import.consumer.amqp.wallabag_v2: |
32 | class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer | 36 | class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer |
@@ -34,6 +38,7 @@ services: | |||
34 | - "@doctrine.orm.entity_manager" | 38 | - "@doctrine.orm.entity_manager" |
35 | - "@wallabag_user.user_repository" | 39 | - "@wallabag_user.user_repository" |
36 | - "@wallabag_import.wallabag_v2.import" | 40 | - "@wallabag_import.wallabag_v2.import" |
41 | - "@event_dispatcher" | ||
37 | - "@logger" | 42 | - "@logger" |
38 | wallabag_import.consumer.amqp.firefox: | 43 | wallabag_import.consumer.amqp.firefox: |
39 | class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer | 44 | class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer |
@@ -41,6 +46,7 @@ services: | |||
41 | - "@doctrine.orm.entity_manager" | 46 | - "@doctrine.orm.entity_manager" |
42 | - "@wallabag_user.user_repository" | 47 | - "@wallabag_user.user_repository" |
43 | - "@wallabag_import.firefox.import" | 48 | - "@wallabag_import.firefox.import" |
49 | - "@event_dispatcher" | ||
44 | - "@logger" | 50 | - "@logger" |
45 | wallabag_import.consumer.amqp.chrome: | 51 | wallabag_import.consumer.amqp.chrome: |
46 | class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer | 52 | class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer |
@@ -48,4 +54,5 @@ services: | |||
48 | - "@doctrine.orm.entity_manager" | 54 | - "@doctrine.orm.entity_manager" |
49 | - "@wallabag_user.user_repository" | 55 | - "@wallabag_user.user_repository" |
50 | - "@wallabag_import.chrome.import" | 56 | - "@wallabag_import.chrome.import" |
57 | - "@event_dispatcher" | ||
51 | - "@logger" | 58 | - "@logger" |
diff --git a/src/Wallabag/ImportBundle/Resources/config/redis.yml b/src/Wallabag/ImportBundle/Resources/config/redis.yml index 0a81e1b5..5ced4c83 100644 --- a/src/Wallabag/ImportBundle/Resources/config/redis.yml +++ b/src/Wallabag/ImportBundle/Resources/config/redis.yml | |||
@@ -18,6 +18,7 @@ services: | |||
18 | - "@doctrine.orm.entity_manager" | 18 | - "@doctrine.orm.entity_manager" |
19 | - "@wallabag_user.user_repository" | 19 | - "@wallabag_user.user_repository" |
20 | - "@wallabag_import.readability.import" | 20 | - "@wallabag_import.readability.import" |
21 | - "@event_dispatcher" | ||
21 | - "@logger" | 22 | - "@logger" |
22 | 23 | ||
23 | # instapaper | 24 | # instapaper |
@@ -38,6 +39,7 @@ services: | |||
38 | - "@doctrine.orm.entity_manager" | 39 | - "@doctrine.orm.entity_manager" |
39 | - "@wallabag_user.user_repository" | 40 | - "@wallabag_user.user_repository" |
40 | - "@wallabag_import.instapaper.import" | 41 | - "@wallabag_import.instapaper.import" |
42 | - "@event_dispatcher" | ||
41 | - "@logger" | 43 | - "@logger" |
42 | 44 | ||
43 | 45 | ||
@@ -58,6 +60,7 @@ services: | |||
58 | - "@doctrine.orm.entity_manager" | 60 | - "@doctrine.orm.entity_manager" |
59 | - "@wallabag_user.user_repository" | 61 | - "@wallabag_user.user_repository" |
60 | - "@wallabag_import.pocket.import" | 62 | - "@wallabag_import.pocket.import" |
63 | - "@event_dispatcher" | ||
61 | - "@logger" | 64 | - "@logger" |
62 | 65 | ||
63 | # wallabag v1 | 66 | # wallabag v1 |
@@ -78,6 +81,7 @@ services: | |||
78 | - "@doctrine.orm.entity_manager" | 81 | - "@doctrine.orm.entity_manager" |
79 | - "@wallabag_user.user_repository" | 82 | - "@wallabag_user.user_repository" |
80 | - "@wallabag_import.wallabag_v1.import" | 83 | - "@wallabag_import.wallabag_v1.import" |
84 | - "@event_dispatcher" | ||
81 | - "@logger" | 85 | - "@logger" |
82 | 86 | ||
83 | # wallabag v2 | 87 | # wallabag v2 |
@@ -98,6 +102,7 @@ services: | |||
98 | - "@doctrine.orm.entity_manager" | 102 | - "@doctrine.orm.entity_manager" |
99 | - "@wallabag_user.user_repository" | 103 | - "@wallabag_user.user_repository" |
100 | - "@wallabag_import.wallabag_v2.import" | 104 | - "@wallabag_import.wallabag_v2.import" |
105 | - "@event_dispatcher" | ||
101 | - "@logger" | 106 | - "@logger" |
102 | 107 | ||
103 | # firefox | 108 | # firefox |
@@ -118,6 +123,7 @@ services: | |||
118 | - "@doctrine.orm.entity_manager" | 123 | - "@doctrine.orm.entity_manager" |
119 | - "@wallabag_user.user_repository" | 124 | - "@wallabag_user.user_repository" |
120 | - "@wallabag_import.firefox.import" | 125 | - "@wallabag_import.firefox.import" |
126 | - "@event_dispatcher" | ||
121 | - "@logger" | 127 | - "@logger" |
122 | 128 | ||
123 | # chrome | 129 | # chrome |
@@ -138,4 +144,5 @@ services: | |||
138 | - "@doctrine.orm.entity_manager" | 144 | - "@doctrine.orm.entity_manager" |
139 | - "@wallabag_user.user_repository" | 145 | - "@wallabag_user.user_repository" |
140 | - "@wallabag_import.chrome.import" | 146 | - "@wallabag_import.chrome.import" |
147 | - "@event_dispatcher" | ||
141 | - "@logger" | 148 | - "@logger" |
diff --git a/src/Wallabag/ImportBundle/Resources/config/services.yml b/src/Wallabag/ImportBundle/Resources/config/services.yml index 89adc71b..64822963 100644 --- a/src/Wallabag/ImportBundle/Resources/config/services.yml +++ b/src/Wallabag/ImportBundle/Resources/config/services.yml | |||
@@ -20,7 +20,7 @@ services: | |||
20 | arguments: | 20 | arguments: |
21 | - "@doctrine.orm.entity_manager" | 21 | - "@doctrine.orm.entity_manager" |
22 | - "@wallabag_core.content_proxy" | 22 | - "@wallabag_core.content_proxy" |
23 | - "@craue_config" | 23 | - "@event_dispatcher" |
24 | calls: | 24 | calls: |
25 | - [ setClient, [ "@wallabag_import.pocket.client" ] ] | 25 | - [ setClient, [ "@wallabag_import.pocket.client" ] ] |
26 | - [ setLogger, [ "@logger" ]] | 26 | - [ setLogger, [ "@logger" ]] |
@@ -32,6 +32,7 @@ services: | |||
32 | arguments: | 32 | arguments: |
33 | - "@doctrine.orm.entity_manager" | 33 | - "@doctrine.orm.entity_manager" |
34 | - "@wallabag_core.content_proxy" | 34 | - "@wallabag_core.content_proxy" |
35 | - "@event_dispatcher" | ||
35 | calls: | 36 | calls: |
36 | - [ setLogger, [ "@logger" ]] | 37 | - [ setLogger, [ "@logger" ]] |
37 | tags: | 38 | tags: |
@@ -42,6 +43,7 @@ services: | |||
42 | arguments: | 43 | arguments: |
43 | - "@doctrine.orm.entity_manager" | 44 | - "@doctrine.orm.entity_manager" |
44 | - "@wallabag_core.content_proxy" | 45 | - "@wallabag_core.content_proxy" |
46 | - "@event_dispatcher" | ||
45 | calls: | 47 | calls: |
46 | - [ setLogger, [ "@logger" ]] | 48 | - [ setLogger, [ "@logger" ]] |
47 | tags: | 49 | tags: |
@@ -52,6 +54,7 @@ services: | |||
52 | arguments: | 54 | arguments: |
53 | - "@doctrine.orm.entity_manager" | 55 | - "@doctrine.orm.entity_manager" |
54 | - "@wallabag_core.content_proxy" | 56 | - "@wallabag_core.content_proxy" |
57 | - "@event_dispatcher" | ||
55 | calls: | 58 | calls: |
56 | - [ setLogger, [ "@logger" ]] | 59 | - [ setLogger, [ "@logger" ]] |
57 | tags: | 60 | tags: |
@@ -62,6 +65,7 @@ services: | |||
62 | arguments: | 65 | arguments: |
63 | - "@doctrine.orm.entity_manager" | 66 | - "@doctrine.orm.entity_manager" |
64 | - "@wallabag_core.content_proxy" | 67 | - "@wallabag_core.content_proxy" |
68 | - "@event_dispatcher" | ||
65 | calls: | 69 | calls: |
66 | - [ setLogger, [ "@logger" ]] | 70 | - [ setLogger, [ "@logger" ]] |
67 | tags: | 71 | tags: |
@@ -72,6 +76,7 @@ services: | |||
72 | arguments: | 76 | arguments: |
73 | - "@doctrine.orm.entity_manager" | 77 | - "@doctrine.orm.entity_manager" |
74 | - "@wallabag_core.content_proxy" | 78 | - "@wallabag_core.content_proxy" |
79 | - "@event_dispatcher" | ||
75 | calls: | 80 | calls: |
76 | - [ setLogger, [ "@logger" ]] | 81 | - [ setLogger, [ "@logger" ]] |
77 | tags: | 82 | tags: |
@@ -81,6 +86,7 @@ services: | |||
81 | arguments: | 86 | arguments: |
82 | - "@doctrine.orm.entity_manager" | 87 | - "@doctrine.orm.entity_manager" |
83 | - "@wallabag_core.content_proxy" | 88 | - "@wallabag_core.content_proxy" |
89 | - "@event_dispatcher" | ||
84 | calls: | 90 | calls: |
85 | - [ setLogger, [ "@logger" ]] | 91 | - [ setLogger, [ "@logger" ]] |
86 | tags: | 92 | tags: |
diff --git a/src/Wallabag/ImportBundle/Resources/views/Chrome/index.html.twig b/src/Wallabag/ImportBundle/Resources/views/Chrome/index.html.twig index ead828c6..93b08540 100644 --- a/src/Wallabag/ImportBundle/Resources/views/Chrome/index.html.twig +++ b/src/Wallabag/ImportBundle/Resources/views/Chrome/index.html.twig | |||
@@ -6,6 +6,8 @@ | |||
6 | <div class="row"> | 6 | <div class="row"> |
7 | <div class="col s12"> | 7 | <div class="col s12"> |
8 | <div class="card-panel settings"> | 8 | <div class="card-panel settings"> |
9 | {% include 'WallabagImportBundle:Import:_information.html.twig' %} | ||
10 | |||
9 | <div class="row"> | 11 | <div class="row"> |
10 | <blockquote>{{ import.description|trans|raw }}</blockquote> | 12 | <blockquote>{{ import.description|trans|raw }}</blockquote> |
11 | <p>{{ 'import.chrome.how_to'|trans }}</p> | 13 | <p>{{ 'import.chrome.how_to'|trans }}</p> |
diff --git a/src/Wallabag/ImportBundle/Resources/views/Firefox/index.html.twig b/src/Wallabag/ImportBundle/Resources/views/Firefox/index.html.twig index f975da3f..ced3f008 100644 --- a/src/Wallabag/ImportBundle/Resources/views/Firefox/index.html.twig +++ b/src/Wallabag/ImportBundle/Resources/views/Firefox/index.html.twig | |||
@@ -6,6 +6,8 @@ | |||
6 | <div class="row"> | 6 | <div class="row"> |
7 | <div class="col s12"> | 7 | <div class="col s12"> |
8 | <div class="card-panel settings"> | 8 | <div class="card-panel settings"> |
9 | {% include 'WallabagImportBundle:Import:_information.html.twig' %} | ||
10 | |||
9 | <div class="row"> | 11 | <div class="row"> |
10 | <blockquote>{{ import.description|trans|raw }}</blockquote> | 12 | <blockquote>{{ import.description|trans|raw }}</blockquote> |
11 | <p>{{ 'import.firefox.how_to'|trans }}</p> | 13 | <p>{{ 'import.firefox.how_to'|trans }}</p> |
diff --git a/src/Wallabag/ImportBundle/Resources/views/Import/_workerEnabled.html.twig b/src/Wallabag/ImportBundle/Resources/views/Import/_information.html.twig index 2390a41f..48bbcfe7 100644 --- a/src/Wallabag/ImportBundle/Resources/views/Import/_workerEnabled.html.twig +++ b/src/Wallabag/ImportBundle/Resources/views/Import/_information.html.twig | |||
@@ -1,8 +1,15 @@ | |||
1 | {% set redis = craue_setting('import_with_redis') %} | 1 | {% set redis = craue_setting('import_with_redis') %} |
2 | {% set rabbit = craue_setting('import_with_rabbitmq') %} | 2 | {% set rabbit = craue_setting('import_with_rabbitmq') %} |
3 | {% set downloadImages = craue_setting('download_images_enabled') %} | ||
3 | 4 | ||
4 | {% if redis or rabbit %} | 5 | {% if redis or rabbit %} |
5 | <div class="card-panel yellow darken-1 black-text"> | 6 | <div class="card-panel yellow darken-1 black-text"> |
6 | {{ 'import.worker.enabled'|trans }} <strong>{% if rabbit %}RabbitMQ{% elseif redis %}Redis{% endif %}</strong> | 7 | {{ 'import.worker.enabled'|trans }} <strong>{% if rabbit %}RabbitMQ{% elseif redis %}Redis{% endif %}</strong> |
7 | </div> | 8 | </div> |
8 | {% endif %} | 9 | {% endif %} |
10 | |||
11 | {% if not redis and not rabbit and downloadImages %} | ||
12 | <div class="card-panel orange darken-1 black-text"> | ||
13 | {{ 'import.worker.download_images_warning'|trans|raw }} | ||
14 | </div> | ||
15 | {% endif %} | ||
diff --git a/src/Wallabag/ImportBundle/Resources/views/Import/index.html.twig b/src/Wallabag/ImportBundle/Resources/views/Import/index.html.twig index 6ea5e0f4..b1ec40a6 100644 --- a/src/Wallabag/ImportBundle/Resources/views/Import/index.html.twig +++ b/src/Wallabag/ImportBundle/Resources/views/Import/index.html.twig | |||
@@ -6,6 +6,8 @@ | |||
6 | <div class="row"> | 6 | <div class="row"> |
7 | <div class="col s12"> | 7 | <div class="col s12"> |
8 | <div class="card-panel settings"> | 8 | <div class="card-panel settings"> |
9 | {% include 'WallabagImportBundle:Import:_information.html.twig' %} | ||
10 | |||
9 | {{ 'import.page_description'|trans }} | 11 | {{ 'import.page_description'|trans }} |
10 | <ul> | 12 | <ul> |
11 | {% for import in imports %} | 13 | {% for import in imports %} |
diff --git a/src/Wallabag/ImportBundle/Resources/views/Instapaper/index.html.twig b/src/Wallabag/ImportBundle/Resources/views/Instapaper/index.html.twig index 5789361f..28165d19 100644 --- a/src/Wallabag/ImportBundle/Resources/views/Instapaper/index.html.twig +++ b/src/Wallabag/ImportBundle/Resources/views/Instapaper/index.html.twig | |||
@@ -6,7 +6,7 @@ | |||
6 | <div class="row"> | 6 | <div class="row"> |
7 | <div class="col s12"> | 7 | <div class="col s12"> |
8 | <div class="card-panel settings"> | 8 | <div class="card-panel settings"> |
9 | {% include 'WallabagImportBundle:Import:_workerEnabled.html.twig' %} | 9 | {% include 'WallabagImportBundle:Import:_information.html.twig' %} |
10 | 10 | ||
11 | <div class="row"> | 11 | <div class="row"> |
12 | <blockquote>{{ import.description|trans }}</blockquote> | 12 | <blockquote>{{ import.description|trans }}</blockquote> |
diff --git a/src/Wallabag/ImportBundle/Resources/views/Pocket/index.html.twig b/src/Wallabag/ImportBundle/Resources/views/Pocket/index.html.twig index 6195fa07..536e3d1a 100644 --- a/src/Wallabag/ImportBundle/Resources/views/Pocket/index.html.twig +++ b/src/Wallabag/ImportBundle/Resources/views/Pocket/index.html.twig | |||
@@ -6,7 +6,7 @@ | |||
6 | <div class="row"> | 6 | <div class="row"> |
7 | <div class="col s12"> | 7 | <div class="col s12"> |
8 | <div class="card-panel settings"> | 8 | <div class="card-panel settings"> |
9 | {% include 'WallabagImportBundle:Import:_workerEnabled.html.twig' %} | 9 | {% include 'WallabagImportBundle:Import:_information.html.twig' %} |
10 | 10 | ||
11 | {% if not has_consumer_key %} | 11 | {% if not has_consumer_key %} |
12 | <div class="card-panel red white-text"> | 12 | <div class="card-panel red white-text"> |
diff --git a/src/Wallabag/ImportBundle/Resources/views/Readability/index.html.twig b/src/Wallabag/ImportBundle/Resources/views/Readability/index.html.twig index 74653b0f..737b0adf 100644 --- a/src/Wallabag/ImportBundle/Resources/views/Readability/index.html.twig +++ b/src/Wallabag/ImportBundle/Resources/views/Readability/index.html.twig | |||
@@ -6,7 +6,7 @@ | |||
6 | <div class="row"> | 6 | <div class="row"> |
7 | <div class="col s12"> | 7 | <div class="col s12"> |
8 | <div class="card-panel settings"> | 8 | <div class="card-panel settings"> |
9 | {% include 'WallabagImportBundle:Import:_workerEnabled.html.twig' %} | 9 | {% include 'WallabagImportBundle:Import:_information.html.twig' %} |
10 | 10 | ||
11 | <div class="row"> | 11 | <div class="row"> |
12 | <blockquote>{{ import.description|trans }}</blockquote> | 12 | <blockquote>{{ import.description|trans }}</blockquote> |
diff --git a/src/Wallabag/ImportBundle/Resources/views/WallabagV1/index.html.twig b/src/Wallabag/ImportBundle/Resources/views/WallabagV1/index.html.twig index 0b19bc34..974b2c73 100644 --- a/src/Wallabag/ImportBundle/Resources/views/WallabagV1/index.html.twig +++ b/src/Wallabag/ImportBundle/Resources/views/WallabagV1/index.html.twig | |||
@@ -6,7 +6,7 @@ | |||
6 | <div class="row"> | 6 | <div class="row"> |
7 | <div class="col s12"> | 7 | <div class="col s12"> |
8 | <div class="card-panel settings"> | 8 | <div class="card-panel settings"> |
9 | {% include 'WallabagImportBundle:Import:_workerEnabled.html.twig' %} | 9 | {% include 'WallabagImportBundle:Import:_information.html.twig' %} |
10 | 10 | ||
11 | <div class="row"> | 11 | <div class="row"> |
12 | <blockquote>{{ import.description|trans }}</blockquote> | 12 | <blockquote>{{ import.description|trans }}</blockquote> |