diff options
Diffstat (limited to 'src/Wallabag/ImportBundle')
6 files changed, 139 insertions, 0 deletions
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/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/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 %} | ||