wallabag/src/Wallabag/ImportBundle/Import/ImportCompilerPass.php
Jeremy Benoist 7019c7cf6c Add tagged services for import
- list services in /import
- add url to import service
- ImportBundle routing are now prefixed by /import
- optimize flush in each import (flushing each 20 contents)
- improve design of each import
- add more tests
2016-01-02 23:27:41 +01:00

33 lines
968 B
PHP

<?php
namespace Wallabag\ImportBundle\Import;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\Reference;
class ImportCompilerPass implements CompilerPassInterface
{
public function process(ContainerBuilder $container)
{
if (!$container->hasDefinition('wallabag_import.chain')) {
return;
}
$definition = $container->getDefinition(
'wallabag_import.chain'
);
$taggedServices = $container->findTaggedServiceIds(
'wallabag_import.import'
);
foreach ($taggedServices as $id => $tagAttributes) {
foreach ($tagAttributes as $attributes) {
$definition->addMethodCall(
'addImport',
[new Reference($id), $attributes['alias']]
);
}
}
}
}