[DesoutterBridge] Add feed item limit

This bridge currently takes a very long time to process
all news items on the page, when in many cases only one
or two had been added since the last check.

This commit adds a new parameter 'limit', which defines
the maximum number of items to add to the feed. This is
an optional paramter that defaults to 3.
This commit is contained in:
logmanoriginal 2019-11-01 15:07:25 +01:00
parent 46d5895d1d
commit c0df9815c7

View file

@ -116,6 +116,12 @@ class DesoutterBridge extends BridgeAbstract {
'name' => 'Load full articles', 'name' => 'Load full articles',
'type' => 'checkbox', 'type' => 'checkbox',
'title' => 'Enable to load the full article for each item' 'title' => 'Enable to load the full article for each item'
),
'limit' => array(
'name' => 'Limit',
'type' => 'number',
'defaultValue' => 3,
'title' => "Maximum number of items to return in the feed.\n0 = unlimited"
) )
) )
); );
@ -156,6 +162,8 @@ class DesoutterBridge extends BridgeAbstract {
$this->title = html_entity_decode($html->find('title', 0)->plaintext, ENT_QUOTES); $this->title = html_entity_decode($html->find('title', 0)->plaintext, ENT_QUOTES);
$limit = $this->getInput('limit') ?: 0;
foreach($html->find('article') as $article) { foreach($html->find('article') as $article) {
$item = array(); $item = array();
@ -169,6 +177,8 @@ class DesoutterBridge extends BridgeAbstract {
} }
$this->items[] = $item; $this->items[] = $item;
if ($limit > 0 && count($this->items) >= $limit) break;
} }
} }