1
0
mirror of https://github.com/RSS-Bridge/rss-bridge.git synced 2025-08-20 23:31:37 +02:00

refactor: FeedExpander (#3740)

* refactor: FeedExpander
This commit is contained in:
Dag
2023-10-12 22:14:04 +02:00
committed by GitHub
parent 6634291c67
commit 9bda9e246a
9 changed files with 315 additions and 504 deletions

View File

@@ -61,6 +61,10 @@ class CssSelectorFeedExpanderBridge extends CssSelectorBridge
$discard_thumbnail = $this->getInput('discard_thumbnail');
$limit = $this->getInput('limit');
//$xmlString = getContents($url);
//$feed = (new FeedParser())->parseFeed($xmlString);
//$items = $feed['items'];
$feed_expander = new CssSelectorFeedExpanderBridgeInternal();
$items = $feed_expander->collectExpandableDatas($url)->getItems();

View File

@@ -46,21 +46,6 @@ class FeedExpanderExampleBridge extends FeedExpander
protected function parseItem($newsItem)
{
switch ($this->getInput('version')) {
case 'rss_0_9_1':
return $this->parseRss091Item($newsItem);
break;
case 'rss_1_0':
return $this->parseRss1Item($newsItem);
break;
case 'rss_2_0':
return $this->parseRss2Item($newsItem);
break;
case 'atom_1_0':
return $this->parseATOMItem($newsItem);
break;
default:
returnClientError('Unknown version ' . $this->getInput('version') . '!');
}
return (array) $newsItem;
}
}

View File

@@ -82,14 +82,14 @@ class MastodonBridge extends BridgeAbstract
}
$items = $content['orderedItems'] ?? $content['items'];
foreach ($items as $status) {
$item = $this->parseItem($status);
$item = $this->parseStatus($status);
if ($item) {
$this->items[] = $item;
}
}
}
protected function parseItem($content)
protected function parseStatus($content)
{
$item = [];
switch ($content['type']) {

View File

@@ -67,7 +67,7 @@ class NyaaTorrentsBridge extends FeedExpander
protected function parseItem($newItem)
{
$item = parent::parseRss2Item($newItem);
$item = parent::parseItem($newItem);
$item['id'] = str_replace(['https://nyaa.si/download/', '.torrent'], '', $item['uri']);
$nyaaFields = (array)($newItem->children('nyaa', true));

View File

@@ -14,7 +14,7 @@ class RaceDepartmentBridge extends FeedExpander
protected function parseItem($feedItem)
{
$item = parent::parseRss2Item($feedItem);
$item = parent::parseItem($feedItem);
//fetch page
$articlePage = getSimpleHTMLDOMCached($feedItem->link);