diff options
author | Bernhard Posselt <nukeawhale@gmail.com> | 2013-08-28 17:26:38 +0200 |
---|---|---|
committer | Bernhard Posselt <nukeawhale@gmail.com> | 2013-08-28 17:26:38 +0200 |
commit | a9eb72911b6f022da645dc08cf8c0f4b1702d1e1 (patch) | |
tree | 4e16f84cd4a8d0214fc5a445f4817bc4a3a93bf0 /dependencyinjection | |
parent | 998b3c29438b09e50d2c56ed982b48df8038a910 (diff) |
add enhancers for articles, fix #14
Diffstat (limited to 'dependencyinjection')
-rw-r--r-- | dependencyinjection/dicontainer.php | 37 |
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(); + }); + } } |