diff options
Diffstat (limited to 'src/Wallabag/ImportBundle')
12 files changed, 140 insertions, 27 deletions
diff --git a/src/Wallabag/ImportBundle/Controller/BrowserController.php b/src/Wallabag/ImportBundle/Controller/BrowserController.php index 58d2a730..8c2bdfe5 100644 --- a/src/Wallabag/ImportBundle/Controller/BrowserController.php +++ b/src/Wallabag/ImportBundle/Controller/BrowserController.php | |||
@@ -13,8 +13,6 @@ abstract class BrowserController extends Controller | |||
13 | /** | 13 | /** |
14 | * @Route("/browser", name="import_browser") | 14 | * @Route("/browser", name="import_browser") |
15 | * | 15 | * |
16 | * @param Request $request | ||
17 | * | ||
18 | * @return Response | 16 | * @return Response |
19 | */ | 17 | */ |
20 | public function indexAction(Request $request) | 18 | public function indexAction(Request $request) |
diff --git a/src/Wallabag/ImportBundle/Controller/ElcuratorController.php b/src/Wallabag/ImportBundle/Controller/ElcuratorController.php new file mode 100644 index 00000000..174c2c96 --- /dev/null +++ b/src/Wallabag/ImportBundle/Controller/ElcuratorController.php | |||
@@ -0,0 +1,41 @@ | |||
1 | <?php | ||
2 | |||
3 | namespace Wallabag\ImportBundle\Controller; | ||
4 | |||
5 | use Symfony\Component\HttpFoundation\Request; | ||
6 | use Symfony\Component\Routing\Annotation\Route; | ||
7 | |||
8 | class ElcuratorController extends WallabagController | ||
9 | { | ||
10 | /** | ||
11 | * @Route("/elcurator", name="import_elcurator") | ||
12 | */ | ||
13 | public function indexAction(Request $request) | ||
14 | { | ||
15 | return parent::indexAction($request); | ||
16 | } | ||
17 | |||
18 | /** | ||
19 | * {@inheritdoc} | ||
20 | */ | ||
21 | protected function getImportService() | ||
22 | { | ||
23 | $service = $this->get('wallabag_import.elcurator.import'); | ||
24 | |||
25 | if ($this->get('craue_config')->get('import_with_rabbitmq')) { | ||
26 | $service->setProducer($this->get('old_sound_rabbit_mq.import_elcurator_producer')); | ||
27 | } elseif ($this->get('craue_config')->get('import_with_redis')) { | ||
28 | $service->setProducer($this->get('wallabag_import.producer.redis.elcurator')); | ||
29 | } | ||
30 | |||
31 | return $service; | ||
32 | } | ||
33 | |||
34 | /** | ||
35 | * {@inheritdoc} | ||
36 | */ | ||
37 | protected function getImportTemplate() | ||
38 | { | ||
39 | return 'WallabagImportBundle:Elcurator:index.html.twig'; | ||
40 | } | ||
41 | } | ||
diff --git a/src/Wallabag/ImportBundle/Controller/WallabagController.php b/src/Wallabag/ImportBundle/Controller/WallabagController.php index d182dd2c..5180006d 100644 --- a/src/Wallabag/ImportBundle/Controller/WallabagController.php +++ b/src/Wallabag/ImportBundle/Controller/WallabagController.php | |||
@@ -16,8 +16,6 @@ abstract class WallabagController extends Controller | |||
16 | /** | 16 | /** |
17 | * Handle import request. | 17 | * Handle import request. |
18 | * | 18 | * |
19 | * @param Request $request | ||
20 | * | ||
21 | * @return Response|RedirectResponse | 19 | * @return Response|RedirectResponse |
22 | */ | 20 | */ |
23 | public function indexAction(Request $request) | 21 | public function indexAction(Request $request) |
diff --git a/src/Wallabag/ImportBundle/Import/AbstractImport.php b/src/Wallabag/ImportBundle/Import/AbstractImport.php index d39d71b6..1b073e99 100644 --- a/src/Wallabag/ImportBundle/Import/AbstractImport.php +++ b/src/Wallabag/ImportBundle/Import/AbstractImport.php | |||
@@ -46,8 +46,6 @@ abstract class AbstractImport implements ImportInterface | |||
46 | /** | 46 | /** |
47 | * Set RabbitMQ/Redis Producer to send each entry to a queue. | 47 | * Set RabbitMQ/Redis Producer to send each entry to a queue. |
48 | * This method should be called when user has enabled RabbitMQ. | 48 | * This method should be called when user has enabled RabbitMQ. |
49 | * | ||
50 | * @param ProducerInterface $producer | ||
51 | */ | 49 | */ |
52 | public function setProducer(ProducerInterface $producer) | 50 | public function setProducer(ProducerInterface $producer) |
53 | { | 51 | { |
@@ -57,8 +55,6 @@ abstract class AbstractImport implements ImportInterface | |||
57 | /** | 55 | /** |
58 | * Set current user. | 56 | * Set current user. |
59 | * Could the current *connected* user or one retrieve by the consumer. | 57 | * Could the current *connected* user or one retrieve by the consumer. |
60 | * | ||
61 | * @param User $user | ||
62 | */ | 58 | */ |
63 | public function setUser(User $user) | 59 | public function setUser(User $user) |
64 | { | 60 | { |
@@ -112,8 +108,6 @@ abstract class AbstractImport implements ImportInterface | |||
112 | /** | 108 | /** |
113 | * Parse one entry. | 109 | * Parse one entry. |
114 | * | 110 | * |
115 | * @param array $importedEntry | ||
116 | * | ||
117 | * @return Entry | 111 | * @return Entry |
118 | */ | 112 | */ |
119 | abstract public function parseEntry(array $importedEntry); | 113 | abstract public function parseEntry(array $importedEntry); |
@@ -121,8 +115,6 @@ abstract class AbstractImport implements ImportInterface | |||
121 | /** | 115 | /** |
122 | * Validate that an entry is valid (like has some required keys, etc.). | 116 | * Validate that an entry is valid (like has some required keys, etc.). |
123 | * | 117 | * |
124 | * @param array $importedEntry | ||
125 | * | ||
126 | * @return bool | 118 | * @return bool |
127 | */ | 119 | */ |
128 | abstract public function validateEntry(array $importedEntry); | 120 | abstract public function validateEntry(array $importedEntry); |
@@ -149,8 +141,6 @@ abstract class AbstractImport implements ImportInterface | |||
149 | 141 | ||
150 | /** | 142 | /** |
151 | * Parse and insert all given entries. | 143 | * Parse and insert all given entries. |
152 | * | ||
153 | * @param array $entries | ||
154 | */ | 144 | */ |
155 | protected function parseEntries(array $entries) | 145 | protected function parseEntries(array $entries) |
156 | { | 146 | { |
@@ -210,8 +200,6 @@ abstract class AbstractImport implements ImportInterface | |||
210 | * | 200 | * |
211 | * Faster parse entries for Producer. | 201 | * Faster parse entries for Producer. |
212 | * We don't care to make check at this time. They'll be done by the consumer. | 202 | * We don't care to make check at this time. They'll be done by the consumer. |
213 | * | ||
214 | * @param array $entries | ||
215 | */ | 203 | */ |
216 | protected function parseEntriesForProducer(array $entries) | 204 | protected function parseEntriesForProducer(array $entries) |
217 | { | 205 | { |
@@ -233,8 +221,6 @@ abstract class AbstractImport implements ImportInterface | |||
233 | * Set current imported entry to archived / read. | 221 | * Set current imported entry to archived / read. |
234 | * Implementation is different accross all imports. | 222 | * Implementation is different accross all imports. |
235 | * | 223 | * |
236 | * @param array $importedEntry | ||
237 | * | ||
238 | * @return array | 224 | * @return array |
239 | */ | 225 | */ |
240 | abstract protected function setEntryAsRead(array $importedEntry); | 226 | abstract protected function setEntryAsRead(array $importedEntry); |
diff --git a/src/Wallabag/ImportBundle/Import/BrowserImport.php b/src/Wallabag/ImportBundle/Import/BrowserImport.php index 3987e80f..ea7afd3d 100644 --- a/src/Wallabag/ImportBundle/Import/BrowserImport.php +++ b/src/Wallabag/ImportBundle/Import/BrowserImport.php | |||
@@ -148,8 +148,6 @@ abstract class BrowserImport extends AbstractImport | |||
148 | 148 | ||
149 | /** | 149 | /** |
150 | * Parse and insert all given entries. | 150 | * Parse and insert all given entries. |
151 | * | ||
152 | * @param array $entries | ||
153 | */ | 151 | */ |
154 | protected function parseEntries(array $entries) | 152 | protected function parseEntries(array $entries) |
155 | { | 153 | { |
@@ -199,8 +197,6 @@ abstract class BrowserImport extends AbstractImport | |||
199 | * | 197 | * |
200 | * Faster parse entries for Producer. | 198 | * Faster parse entries for Producer. |
201 | * We don't care to make check at this time. They'll be done by the consumer. | 199 | * We don't care to make check at this time. They'll be done by the consumer. |
202 | * | ||
203 | * @param array $entries | ||
204 | */ | 200 | */ |
205 | protected function parseEntriesForProducer(array $entries) | 201 | protected function parseEntriesForProducer(array $entries) |
206 | { | 202 | { |
diff --git a/src/Wallabag/ImportBundle/Import/ElcuratorImport.php b/src/Wallabag/ImportBundle/Import/ElcuratorImport.php new file mode 100644 index 00000000..d1281613 --- /dev/null +++ b/src/Wallabag/ImportBundle/Import/ElcuratorImport.php | |||
@@ -0,0 +1,54 @@ | |||
1 | <?php | ||
2 | |||
3 | namespace Wallabag\ImportBundle\Import; | ||
4 | |||
5 | class ElcuratorImport extends WallabagImport | ||
6 | { | ||
7 | /** | ||
8 | * {@inheritdoc} | ||
9 | */ | ||
10 | public function getName() | ||
11 | { | ||
12 | return 'elcurator'; | ||
13 | } | ||
14 | |||
15 | /** | ||
16 | * {@inheritdoc} | ||
17 | */ | ||
18 | public function getUrl() | ||
19 | { | ||
20 | return 'import_elcurator'; | ||
21 | } | ||
22 | |||
23 | /** | ||
24 | * {@inheritdoc} | ||
25 | */ | ||
26 | public function getDescription() | ||
27 | { | ||
28 | return 'import.elcurator.description'; | ||
29 | } | ||
30 | |||
31 | /** | ||
32 | * {@inheritdoc} | ||
33 | */ | ||
34 | protected function prepareEntry($entry = []) | ||
35 | { | ||
36 | return [ | ||
37 | 'url' => $entry['url'], | ||
38 | 'title' => $entry['title'], | ||
39 | 'created_at' => $entry['created_at'], | ||
40 | 'is_archived' => 0, | ||
41 | 'is_starred' => $entry['is_saved'], | ||
42 | ] + $entry; | ||
43 | } | ||
44 | |||
45 | /** | ||
46 | * {@inheritdoc} | ||
47 | */ | ||
48 | protected function setEntryAsRead(array $importedEntry) | ||
49 | { | ||
50 | $importedEntry['is_archived'] = 1; | ||
51 | |||
52 | return $importedEntry; | ||
53 | } | ||
54 | } | ||
diff --git a/src/Wallabag/ImportBundle/Import/ImportChain.php b/src/Wallabag/ImportBundle/Import/ImportChain.php index 9dd77956..e1b5867d 100644 --- a/src/Wallabag/ImportBundle/Import/ImportChain.php +++ b/src/Wallabag/ImportBundle/Import/ImportChain.php | |||
@@ -14,8 +14,7 @@ class ImportChain | |||
14 | /** | 14 | /** |
15 | * Add an import to the chain. | 15 | * Add an import to the chain. |
16 | * | 16 | * |
17 | * @param ImportInterface $import | 17 | * @param string $alias |
18 | * @param string $alias | ||
19 | */ | 18 | */ |
20 | public function addImport(ImportInterface $import, $alias) | 19 | public function addImport(ImportInterface $import, $alias) |
21 | { | 20 | { |
diff --git a/src/Wallabag/ImportBundle/Import/PocketImport.php b/src/Wallabag/ImportBundle/Import/PocketImport.php index 746120af..24fdaa2b 100644 --- a/src/Wallabag/ImportBundle/Import/PocketImport.php +++ b/src/Wallabag/ImportBundle/Import/PocketImport.php | |||
@@ -151,9 +151,6 @@ class PocketImport extends AbstractImport | |||
151 | 151 | ||
152 | /** | 152 | /** |
153 | * Set the Http client. | 153 | * Set the Http client. |
154 | * | ||
155 | * @param HttpClient $client | ||
156 | * @param MessageFactory|null $messageFactory | ||
157 | */ | 154 | */ |
158 | public function setClient(HttpClient $client, MessageFactory $messageFactory = null) | 155 | public function setClient(HttpClient $client, MessageFactory $messageFactory = null) |
159 | { | 156 | { |
diff --git a/src/Wallabag/ImportBundle/Resources/config/rabbit.yml b/src/Wallabag/ImportBundle/Resources/config/rabbit.yml index e9ecb846..0bf0e761 100644 --- a/src/Wallabag/ImportBundle/Resources/config/rabbit.yml +++ b/src/Wallabag/ImportBundle/Resources/config/rabbit.yml | |||
@@ -48,6 +48,14 @@ services: | |||
48 | - "@wallabag_import.wallabag_v2.import" | 48 | - "@wallabag_import.wallabag_v2.import" |
49 | - "@event_dispatcher" | 49 | - "@event_dispatcher" |
50 | - "@logger" | 50 | - "@logger" |
51 | wallabag_import.consumer.amqp.elcurator: | ||
52 | class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer | ||
53 | arguments: | ||
54 | - "@doctrine.orm.entity_manager" | ||
55 | - "@wallabag_user.user_repository" | ||
56 | - "@wallabag_import.elcurator.import" | ||
57 | - "@event_dispatcher" | ||
58 | - "@logger" | ||
51 | wallabag_import.consumer.amqp.firefox: | 59 | wallabag_import.consumer.amqp.firefox: |
52 | class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer | 60 | class: Wallabag\ImportBundle\Consumer\AMQPEntryConsumer |
53 | arguments: | 61 | arguments: |
diff --git a/src/Wallabag/ImportBundle/Resources/config/redis.yml b/src/Wallabag/ImportBundle/Resources/config/redis.yml index 091cdba0..40a6e224 100644 --- a/src/Wallabag/ImportBundle/Resources/config/redis.yml +++ b/src/Wallabag/ImportBundle/Resources/config/redis.yml | |||
@@ -126,6 +126,27 @@ services: | |||
126 | - "@event_dispatcher" | 126 | - "@event_dispatcher" |
127 | - "@logger" | 127 | - "@logger" |
128 | 128 | ||
129 | # elcurator | ||
130 | wallabag_import.queue.redis.elcurator: | ||
131 | class: Simpleue\Queue\RedisQueue | ||
132 | arguments: | ||
133 | - "@wallabag_core.redis.client" | ||
134 | - "wallabag.import.elcurator" | ||
135 | |||
136 | wallabag_import.producer.redis.elcurator: | ||
137 | class: Wallabag\ImportBundle\Redis\Producer | ||
138 | arguments: | ||
139 | - "@wallabag_import.queue.redis.elcurator" | ||
140 | |||
141 | wallabag_import.consumer.redis.elcurator: | ||
142 | class: Wallabag\ImportBundle\Consumer\RedisEntryConsumer | ||
143 | arguments: | ||
144 | - "@doctrine.orm.entity_manager" | ||
145 | - "@wallabag_user.user_repository" | ||
146 | - "@wallabag_import.elcurator.import" | ||
147 | - "@event_dispatcher" | ||
148 | - "@logger" | ||
149 | |||
129 | # firefox | 150 | # firefox |
130 | wallabag_import.queue.redis.firefox: | 151 | wallabag_import.queue.redis.firefox: |
131 | class: Simpleue\Queue\RedisQueue | 152 | class: Simpleue\Queue\RedisQueue |
diff --git a/src/Wallabag/ImportBundle/Resources/config/services.yml b/src/Wallabag/ImportBundle/Resources/config/services.yml index 973c0d03..d824da4a 100644 --- a/src/Wallabag/ImportBundle/Resources/config/services.yml +++ b/src/Wallabag/ImportBundle/Resources/config/services.yml | |||
@@ -48,6 +48,18 @@ services: | |||
48 | tags: | 48 | tags: |
49 | - { name: wallabag_import.import, alias: wallabag_v2 } | 49 | - { name: wallabag_import.import, alias: wallabag_v2 } |
50 | 50 | ||
51 | wallabag_import.elcurator.import: | ||
52 | class: Wallabag\ImportBundle\Import\ElcuratorImport | ||
53 | arguments: | ||
54 | - "@doctrine.orm.entity_manager" | ||
55 | - "@wallabag_core.content_proxy" | ||
56 | - "@wallabag_core.tags_assigner" | ||
57 | - "@event_dispatcher" | ||
58 | calls: | ||
59 | - [ setLogger, [ "@logger" ]] | ||
60 | tags: | ||
61 | - { name: wallabag_import.import, alias: elcurator } | ||
62 | |||
51 | wallabag_import.readability.import: | 63 | wallabag_import.readability.import: |
52 | class: Wallabag\ImportBundle\Import\ReadabilityImport | 64 | class: Wallabag\ImportBundle\Import\ReadabilityImport |
53 | arguments: | 65 | arguments: |
diff --git a/src/Wallabag/ImportBundle/Resources/views/Elcurator/index.html.twig b/src/Wallabag/ImportBundle/Resources/views/Elcurator/index.html.twig new file mode 100644 index 00000000..e3a0d709 --- /dev/null +++ b/src/Wallabag/ImportBundle/Resources/views/Elcurator/index.html.twig | |||
@@ -0,0 +1,3 @@ | |||
1 | {% extends "WallabagImportBundle:WallabagV1:index.html.twig" %} | ||
2 | |||
3 | {% block title %}{{ 'import.elcurator.page_title'|trans }}{% endblock %} | ||