Exceptions are caught and continued on JSON, XML, Atom and RSS output in API

This commit is contained in:
Evan Prodromou 2010-07-13 11:11:29 -04:00
parent 1044f27e47
commit 453a06fff4

View File

@ -734,14 +734,16 @@ class ApiAction extends Action
'xmlns:statusnet' => 'http://status.net/schema/api/1/')); 'xmlns:statusnet' => 'http://status.net/schema/api/1/'));
if (is_array($notice)) { if (is_array($notice)) {
foreach ($notice as $n) { $notice = new ArrayWrapper($notice);
$twitter_status = $this->twitterStatusArray($n); }
$this->showTwitterXmlStatus($twitter_status);
} while ($notice->fetch()) {
} else { try {
while ($notice->fetch()) {
$twitter_status = $this->twitterStatusArray($notice); $twitter_status = $this->twitterStatusArray($notice);
$this->showTwitterXmlStatus($twitter_status); $this->showTwitterXmlStatus($twitter_status);
} catch (Exception $e) {
common_log(LOG_ERR, $e->getMessage());
continue;
} }
} }
@ -789,24 +791,16 @@ class ApiAction extends Action
$this->element('ttl', null, '40'); $this->element('ttl', null, '40');
if (is_array($notice)) { if (is_array($notice)) {
foreach ($notice as $n) { $notice = new ArrayWrapper($notice);
try { }
$entry = $this->twitterRssEntryArray($n);
$this->showTwitterRssItem($entry); while ($notice->fetch()) {
} catch (Exception $e) { try {
common_log(LOG_ERR, $e->getMessage()); $entry = $this->twitterRssEntryArray($notice);
// continue on exceptions $this->showTwitterRssItem($entry);
} } catch (Exception $e) {
} common_log(LOG_ERR, $e->getMessage());
} else { // continue on exceptions
while ($notice->fetch()) {
try {
$entry = $this->twitterRssEntryArray($notice);
$this->showTwitterRssItem($entry);
} catch (Exception $e) {
common_log(LOG_ERR, $e->getMessage());
// continue on exceptions
}
} }
} }
@ -842,12 +836,15 @@ class ApiAction extends Action
$this->element('subtitle', null, $subtitle); $this->element('subtitle', null, $subtitle);
if (is_array($notice)) { if (is_array($notice)) {
foreach ($notice as $n) { $notice = new ArrayWrapper($notice);
$this->raw($n->asAtomEntry()); }
}
} else { while ($notice->fetch()) {
while ($notice->fetch()) { try {
$this->raw($notice->asAtomEntry()); $this->raw($notice->asAtomEntry());
} catch (Exception $e) {
common_log(LOG_ERR, $e->getMessage());
continue;
} }
} }
@ -1042,14 +1039,16 @@ class ApiAction extends Action
$statuses = array(); $statuses = array();
if (is_array($notice)) { if (is_array($notice)) {
foreach ($notice as $n) { $notice = new ArrayWrapper($notice);
$twitter_status = $this->twitterStatusArray($n); }
array_push($statuses, $twitter_status);
} while ($notice->fetch()) {
} else { try {
while ($notice->fetch()) {
$twitter_status = $this->twitterStatusArray($notice); $twitter_status = $this->twitterStatusArray($notice);
array_push($statuses, $twitter_status); array_push($statuses, $twitter_status);
} catch (Exception $e) {
common_log(LOG_ERR, $e->getMessage());
continue;
} }
} }