summaryrefslogtreecommitdiffstats
path: root/dependencyinjection
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-08-28 17:26:38 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2013-08-28 17:26:38 +0200
commita9eb72911b6f022da645dc08cf8c0f4b1702d1e1 (patch)
tree4e16f84cd4a8d0214fc5a445f4817bc4a3a93bf0 /dependencyinjection
parent998b3c29438b09e50d2c56ed982b48df8038a910 (diff)
add enhancers for articles, fix #14
Diffstat (limited to 'dependencyinjection')
-rw-r--r--dependencyinjection/dicontainer.php37
1 files changed, 36 insertions, 1 deletions
diff --git a/dependencyinjection/dicontainer.php b/dependencyinjection/dicontainer.php
index 48206eea5..39f5a7be4 100644
--- a/dependencyinjection/dicontainer.php
+++ b/dependencyinjection/dicontainer.php
@@ -54,6 +54,11 @@ use \OCA\News\Utility\TwitterFetcher;
use \OCA\News\Utility\OPMLExporter;
use \OCA\News\Utility\ImportParser;
use \OCA\News\Utility\Updater;
+use \OCA\News\Utility\SimplePieFileFactory;
+
+use \OCA\News\Utility\ArticleEnhancer\Enhancer;
+use \OCA\News\Utility\ArticleEnhancer\DefaultEnhancer;
+use \OCA\News\Utility\ArticleEnhancer\CyanideAndHappinessEnhancer;
require_once __DIR__ . '/../3rdparty/htmlpurifier/library/HTMLPurifier.auto.php';
@@ -167,7 +172,8 @@ class DIContainer extends BaseContainer {
$c['API'],
$c['TimeFactory'],
$c['ImportParser'],
- $c['autoPurgeMinimumInterval']);
+ $c['autoPurgeMinimumInterval'],
+ $c['Enhancer']);
});
$this['ItemBusinessLayer'] = $this->share(function($c){
@@ -223,6 +229,30 @@ class DIContainer extends BaseContainer {
/**
* Utility
*/
+ $this['Enhancer'] = $this->share(function($c){
+ $enhancer = new Enhancer();
+
+ // register fetchers in order
+ // the most generic enhancer should be the last one
+ $enhancer->registerEnhancer($c['CyanideAndHappinessEnhancer']);
+ $enhancer->registerEnhancer($c['DefaultEnhancer']);
+
+ return $enhancer;
+ });
+
+ $this['DefaultEnhancer'] = $this->share(function($c){
+ return new DefaultEnhancer();
+ });
+
+ $this['CyanideAndHappinessEnhancer'] = $this->share(function($c){
+ return new CyanideAndHappinessEnhancer(
+ $c['SimplePieFileFactory'],
+ $c['HTMLPurifier'],
+ $c['feedFetcherTimeout']
+ );
+ });
+
+
$this['Fetcher'] = $this->share(function($c){
$fetcher = new Fetcher();
@@ -250,6 +280,7 @@ class DIContainer extends BaseContainer {
return new TwitterFetcher($c['FeedFetcher']);
});
+
$this['ImportParser'] = $this->share(function($c){
return new ImportParser($c['TimeFactory'], $c['HTMLPurifier']);
});
@@ -268,6 +299,10 @@ class DIContainer extends BaseContainer {
$c['ItemBusinessLayer']);
});
+ $this['SimplePieFileFactory'] = $this->share(function($c){
+ return new SimplePieFileFactory();
+ });
+
}
}