Handle feed imports with exceptions better
This commit is contained in:
parent
7adf1c99fc
commit
f6df44ea85
|
@ -444,10 +444,7 @@ class Ostatus_profile extends Managed_DataObject
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for ($i = 0; $i < $entries->length; $i++) {
|
$this->processEntries($entries, $feed, $source);
|
||||||
$entry = $entries->item($i);
|
|
||||||
$this->processEntry($entry, $feed, $source);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function processRssFeed(DOMElement $rss, $source)
|
public function processRssFeed(DOMElement $rss, $source)
|
||||||
|
@ -465,9 +462,18 @@ class Ostatus_profile extends Managed_DataObject
|
||||||
|
|
||||||
$items = $channel->getElementsByTagName('item');
|
$items = $channel->getElementsByTagName('item');
|
||||||
|
|
||||||
for ($i = 0; $i < $items->length; $i++) {
|
$this->processEntries($items, $channel, $source);
|
||||||
$item = $items->item($i);
|
}
|
||||||
$this->processEntry($item, $channel, $source);
|
|
||||||
|
public function processEntries(DOMNodeList $entries, DOMElement $feed, $source)
|
||||||
|
{
|
||||||
|
for ($i = 0; $i < $entries->length; $i++) {
|
||||||
|
$entry = $entries->item($i);
|
||||||
|
try {
|
||||||
|
$this->processEntry($entry, $feed, $source);
|
||||||
|
} catch (AlreadyFulfilledException $e) {
|
||||||
|
common_debug('We already had this entry: '.$e->getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -480,14 +486,14 @@ class Ostatus_profile extends Managed_DataObject
|
||||||
*
|
*
|
||||||
* @return Notice Notice representing the new (or existing) activity
|
* @return Notice Notice representing the new (or existing) activity
|
||||||
*/
|
*/
|
||||||
public function processEntry($entry, $feed, $source)
|
public function processEntry(DOMElement $entry, DOMElement $feed, $source)
|
||||||
{
|
{
|
||||||
$activity = new Activity($entry, $feed);
|
$activity = new Activity($entry, $feed);
|
||||||
return $this->processActivity($activity, $source);
|
return $this->processActivity($activity, $source);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Make this throw an exception
|
// TODO: Make this throw an exception
|
||||||
public function processActivity($activity, $source)
|
public function processActivity(Activity $activity, $source)
|
||||||
{
|
{
|
||||||
$notice = null;
|
$notice = null;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user