From a3246a927de542e1b3ab403359bfd3c08705b6a7 Mon Sep 17 00:00:00 2001 From: Sean Molenaar Date: Wed, 30 Jan 2019 20:36:40 +0100 Subject: Parser: Switch to feedIO for parsing instead of picoFeed --- lib/Fetcher/Fetcher.php | 45 +++++++++++++++++++-------------------------- 1 file changed, 19 insertions(+), 26 deletions(-) (limited to 'lib/Fetcher/Fetcher.php') diff --git a/lib/Fetcher/Fetcher.php b/lib/Fetcher/Fetcher.php index e78da0265..23f5b57f7 100644 --- a/lib/Fetcher/Fetcher.php +++ b/lib/Fetcher/Fetcher.php @@ -16,6 +16,10 @@ namespace OCA\News\Fetcher; class Fetcher { + /** + * List of fetchers. + * @var IFeedFetcher[] + */ private $fetchers; public function __construct() @@ -39,39 +43,28 @@ class Fetcher * * @param string $url remote url of the feed * @param boolean $getFavicon if the favicon should also be fetched, defaults to true - * @param string $lastModified a last modified value from an http header defaults to false. + * @param string $lastModified a last modified value from an http header defaults to false. * If lastModified matches the http header from the feed no results are fetched - * @param string $etag an etag from an http header. - * If lastModified matches the http header from the feed no results are fetched - * @param bool $fullTextEnabled if true tells the fetcher to enhance the articles by fetching more content - * @param string $basicAuthUser if given, basic auth is set for this feed - * @param string $basicAuthPassword if given, basic auth is set for this feed. Ignored if user is empty + * @param string $user if given, basic auth is set for this feed + * @param string $password if given, basic auth is set for this feed. Ignored if user is empty * - * @throws FetcherException if simple pie fails + * @throws FetcherException if FeedIO fails * @return array an array containing the new feed and its items, first * element being the Feed and second element being an array of Items */ - public function fetch( - $url, - $getFavicon = true, - $lastModified = null, - $etag = null, - $fullTextEnabled = false, - $basicAuthUser = null, - $basicAuthPassword = null - ) { + public function fetch($url, $getFavicon = true, $lastModified = null, $user = null, $password = null) + { foreach ($this->fetchers as $fetcher) { - if ($fetcher->canHandle($url)) { - return $fetcher->fetch( - $url, - $getFavicon, - $lastModified, - $etag, - $fullTextEnabled, - $basicAuthUser, - $basicAuthPassword - ); + if (!$fetcher->canHandle($url)) { + continue; } + return $fetcher->fetch( + $url, + $getFavicon, + $lastModified, + $user, + $password + ); } return [null, []]; -- cgit v1.2.3