Skip to content

Commit fdd559e

Browse files
committed
Merge pull request #1 from temp/master
Configurable 7z
2 parents 9ec4e76 + 63ad606 commit fdd559e

File tree

5 files changed

+94
-27
lines changed

5 files changed

+94
-27
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1+
composer.lock
12
.idea/
2-
vendor/
3+
vendor/

src/Brainbits/TranscoderBundle/DependencyInjection/BrainbitsTranscoderExtension.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,11 @@ public function load(array $configs, ContainerBuilder $container)
3535
$loader->load('decoders.xml');
3636
$loader->load('encoders.xml');
3737
$loader->load('services.xml');
38+
39+
$configuration = new Configuration();
40+
$config = $this->processConfiguration($configuration, $configs);
41+
42+
$container->setParameter('brainbits.transcoder.decoder.7z.executable', $config['decoder']['7z']);
43+
$container->setParameter('brainbits.transcoder.encoder.7z.executable', $config['encoder']['7z']);
3844
}
3945
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<?php
2+
/**
3+
* This file is part of the brainbits transcoderbundle package.
4+
*
5+
* (c) 2012-2013 brainbits GmbH (http://www.brainbits.net)
6+
*
7+
* For the full copyright and license information, please view the LICENSE
8+
* file that was distributed with this source code.
9+
*/
10+
11+
namespace Brainbits\TranscoderBundle\DependencyInjection;
12+
13+
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
14+
use Symfony\Component\Config\Definition\ConfigurationInterface;
15+
16+
/**
17+
* BrainbitsTranscoderExtension configuration structure.
18+
*
19+
* @author Stephan Wentz <swentz@brainbits.net>
20+
*/
21+
class Configuration implements ConfigurationInterface
22+
{
23+
public function getConfigTreeBuilder()
24+
{
25+
$treeBuilder = new TreeBuilder();
26+
$rootNode = $treeBuilder->root('brainbits_transcoder');
27+
28+
$rootNode
29+
->children()
30+
->arrayNode('decoder')
31+
->addDefaultsIfNotSet()
32+
->children()
33+
->scalarNode('7z')
34+
->defaultValue('7z')
35+
->end()
36+
->end()
37+
->end()
38+
->arrayNode('encoder')
39+
->addDefaultsIfNotSet()
40+
->children()
41+
->scalarNode('7z')
42+
->defaultValue('7z')
43+
->end()
44+
->end()
45+
->end()
46+
->end();
47+
48+
return $treeBuilder;
49+
}
50+
}

src/Brainbits/TranscoderBundle/Resources/config/decoders.xml

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,36 +4,41 @@
44
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
55
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
66

7+
<parameters>
8+
<parameter key="brainbits.transcoder.decoder.7z.executable">7z</parameter>
9+
<parameter key="brainbits.transcoder.decoder.7z.class">Brainbits\Transcoder\Decoder\SevenzDecoder</parameter>
10+
<parameter key="brainbits.transcoder.decoder.bzip2.class">Brainbits\Transcoder\Decoder\Bzip2Decoder</parameter>
11+
<parameter key="brainbits.transcoder.decoder.deflate.class">Brainbits\Transcoder\Decoder\DeflateDecoder</parameter>
12+
<parameter key="brainbits.transcoder.decoder.gzip.class">Brainbits\Transcoder\Decoder\GzipDecoder</parameter>
13+
<parameter key="brainbits.transcoder.decoder.null.class">Brainbits\Transcoder\Decoder\NullDecoder</parameter>
14+
<parameter key="brainbits.transcoder.decoder.resolver.class">Brainbits\Transcoder\Decoder\DecoderResolver</parameter>
15+
</parameters>
16+
717
<services>
818

9-
<service id="brainbits.transcoder.decoder.7z" class="Brainbits\Transcoder\Decoder\SevenzDecoder">
19+
<service id="brainbits.transcoder.decoder.7z" class="%brainbits.transcoder.decoder.7z.class%">
20+
<argument>%brainbits.transcoder.decoder.7z.executable%</argument>
1021
<tag name="transcoder.decoder"/>
1122
</service>
1223

13-
<service id="brainbits.transcoder.decoder.bzip2" class="Brainbits\Transcoder\Decoder\Bzip2Decoder">
24+
<service id="brainbits.transcoder.decoder.bzip2" class="%brainbits.transcoder.decoder.bzip2.class%">
1425
<tag name="transcoder.decoder"/>
1526
</service>
1627

17-
<service id="brainbits.transcoder.decoder.deflate" class="Brainbits\Transcoder\Decoder\DeflateDecoder">
28+
<service id="brainbits.transcoder.decoder.deflate" class="%brainbits.transcoder.decoder.deflate.class%">
1829
<tag name="transcoder.decoder"/>
1930
</service>
2031

21-
<service id="brainbits.transcoder.decoder.gzip" class="Brainbits\Transcoder\Decoder\GzipDecoder">
32+
<service id="brainbits.transcoder.decoder.gzip" class="%brainbits.transcoder.decoder.gzip.class%">
2233
<tag name="transcoder.decoder"/>
2334
</service>
2435

25-
<service id="brainbits.transcoder.decoder.null" class="Brainbits\Transcoder\Decoder\NullDecoder">
36+
<service id="brainbits.transcoder.decoder.null" class="%brainbits.transcoder.decoder.null.class%">
2637
<tag name="transcoder.decoder"/>
2738
</service>
2839

29-
<service id="brainbits.transcoder.decoder.resolver" class="Brainbits\Transcoder\Decoder\DecoderResolver">
30-
<argument type="collection">
31-
<service id="brainbits.transcoder.decoder.7z"></service>
32-
<service id="brainbits.transcoder.decoder.bzip2"></service>
33-
<service id="brainbits.transcoder.decoder.deflate"></service>
34-
<service id="brainbits.transcoder.decoder.gzip"></service>
35-
<service id="brainbits.transcoder.decoder.null"></service>
36-
</argument>
40+
<service id="brainbits.transcoder.decoder.resolver" class="%brainbits.transcoder.decoder.resolver.class%">
41+
<argument type="collection" />
3742
</service>
3843
</services>
3944

src/Brainbits/TranscoderBundle/Resources/config/encoders.xml

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,36 +4,41 @@
44
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
55
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
66

7+
<parameters>
8+
<parameter key="brainbits.transcoder.encoder.7z.executable">7z</parameter>
9+
<parameter key="brainbits.transcoder.encoder.7z.class">Brainbits\Transcoder\Encoder\SevenzEncoder</parameter>
10+
<parameter key="brainbits.transcoder.encoder.bzip2.class">Brainbits\Transcoder\Encoder\Bzip2Encoder</parameter>
11+
<parameter key="brainbits.transcoder.encoder.deflate.class">Brainbits\Transcoder\Encoder\DeflateEncoder</parameter>
12+
<parameter key="brainbits.transcoder.encoder.gzip.class">Brainbits\Transcoder\Encoder\GzipEncoder</parameter>
13+
<parameter key="brainbits.transcoder.encoder.null.class">Brainbits\Transcoder\Encoder\NullEncoder</parameter>
14+
<parameter key="brainbits.transcoder.encoder.resolver.class">Brainbits\Transcoder\Encoder\EncoderResolver</parameter>
15+
</parameters>
16+
717
<services>
818

9-
<service id="brainbits.transcoder.encoder.7z" class="Brainbits\Transcoder\Encoder\SevenzEncoder">
19+
<service id="brainbits.transcoder.encoder.7z" class="%brainbits.transcoder.encoder.7z.class%">
20+
<argument>%brainbits.transcoder.encoder.7z.executable%</argument>
1021
<tag name="transcoder.encoder"/>
1122
</service>
1223

13-
<service id="brainbits.transcoder.encoder.bzip2" class="Brainbits\Transcoder\Encoder\Bzip2Encoder">
24+
<service id="brainbits.transcoder.encoder.bzip2" class="%brainbits.transcoder.encoder.bzip2.class%">
1425
<tag name="transcoder.encoder"/>
1526
</service>
1627

17-
<service id="brainbits.transcoder.encoder.deflate" class="Brainbits\Transcoder\Encoder\DeflateEncoder">
28+
<service id="brainbits.transcoder.encoder.deflate" class="%brainbits.transcoder.encoder.deflate.class%">
1829
<tag name="transcoder.encoder"/>
1930
</service>
2031

21-
<service id="brainbits.transcoder.encoder.gzip" class="Brainbits\Transcoder\Encoder\GzipEncoder">
32+
<service id="brainbits.transcoder.encoder.gzip" class="%brainbits.transcoder.encoder.gzip.class%">
2233
<tag name="transcoder.encoder"/>
2334
</service>
2435

25-
<service id="brainbits.transcoder.encoder.null" class="Brainbits\Transcoder\Encoder\NullEncoder">
36+
<service id="brainbits.transcoder.encoder.null" class="%brainbits.transcoder.encoder.null.class%">
2637
<tag name="transcoder.encoder"/>
2738
</service>
2839

29-
<service id="brainbits.transcoder.encoder.resolver" class="Brainbits\Transcoder\Encoder\EncoderResolver">
30-
<argument type="collection">
31-
<service id="brainbits.transcoder.encoder.7z"></service>
32-
<service id="brainbits.transcoder.encoder.bzip2"></service>
33-
<service id="brainbits.transcoder.encoder.deflate"></service>
34-
<service id="brainbits.transcoder.encoder.gzip"></service>
35-
<service id="brainbits.transcoder.encoder.null"></service>
36-
</argument>
40+
<service id="brainbits.transcoder.encoder.resolver" class="%brainbits.transcoder.encoder.resolver.class%">
41+
<argument type="collection" />
3742
</service>
3843

3944
</services>

0 commit comments

Comments
 (0)