Catch not fetchable posts
This commit is contained in:
		
					parent
					
						
							
								ae3afaad94
							
						
					
				
			
			
				commit
				
					
						3e8c38946d
					
				
			
		
					 8 changed files with 61 additions and 10 deletions
				
			
		| 
						 | 
				
			
			@ -25,6 +25,7 @@ use Friendica\BaseFactory;
 | 
			
		|||
use Friendica\Content\ContactSelector;
 | 
			
		||||
use Friendica\Content\Item as ContentItem;
 | 
			
		||||
use Friendica\Content\Text\BBCode;
 | 
			
		||||
use Friendica\Core\Logger;
 | 
			
		||||
use Friendica\Database\Database;
 | 
			
		||||
use Friendica\Database\DBA;
 | 
			
		||||
use Friendica\Model\Item;
 | 
			
		||||
| 
						 | 
				
			
			@ -249,13 +250,23 @@ class Status extends BaseFactory
 | 
			
		|||
		}
 | 
			
		||||
 | 
			
		||||
		if ($is_reshare) {
 | 
			
		||||
			$reshare = $this->createFromUriId($uriId, $uid, $display_quote, false, false)->toArray();
 | 
			
		||||
			try {
 | 
			
		||||
				$reshare = $this->createFromUriId($uriId, $uid, $display_quote, false, false)->toArray();
 | 
			
		||||
			} catch (\Throwable $th) {
 | 
			
		||||
				Logger::info('Reshare not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'error' => $th]);
 | 
			
		||||
				$reshare = [];
 | 
			
		||||
			}
 | 
			
		||||
		} else {
 | 
			
		||||
			$reshare = [];
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if ($in_reply_status && ($item['gravity'] == Item::GRAVITY_COMMENT)) {
 | 
			
		||||
			$in_reply = $this->createFromUriId($item['thr-parent-id'], $uid, $display_quote, false, false)->toArray();
 | 
			
		||||
			try {
 | 
			
		||||
				$in_reply = $this->createFromUriId($item['thr-parent-id'], $uid, $display_quote, false, false)->toArray();
 | 
			
		||||
			} catch (\Throwable $th) {
 | 
			
		||||
				Logger::info('Reply post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'error' => $th]);
 | 
			
		||||
				$in_reply = [];
 | 
			
		||||
			}
 | 
			
		||||
		} else {
 | 
			
		||||
			$in_reply = [];
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -283,7 +294,12 @@ class Status extends BaseFactory
 | 
			
		|||
		}
 | 
			
		||||
 | 
			
		||||
		if (!empty($quote_id)) {
 | 
			
		||||
			$quote = $this->createFromUriId($quote_id, $uid, false, false, false)->toArray();
 | 
			
		||||
			try {
 | 
			
		||||
				$quote = $this->createFromUriId($quote_id, $uid, false, false, false)->toArray();
 | 
			
		||||
			} catch (\Throwable $th) {
 | 
			
		||||
				Logger::info('Quote not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'error' => $th]);
 | 
			
		||||
				$quote = [];
 | 
			
		||||
			}
 | 
			
		||||
		} else {
 | 
			
		||||
			$quote = [];
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,6 +21,7 @@
 | 
			
		|||
 | 
			
		||||
namespace Friendica\Module\Api\Mastodon;
 | 
			
		||||
 | 
			
		||||
use Friendica\Core\Logger;
 | 
			
		||||
use Friendica\Core\System;
 | 
			
		||||
use Friendica\Database\DBA;
 | 
			
		||||
use Friendica\DI;
 | 
			
		||||
| 
						 | 
				
			
			@ -74,7 +75,11 @@ class Bookmarks extends BaseApi
 | 
			
		|||
		$statuses = [];
 | 
			
		||||
		while ($item = Post::fetch($items)) {
 | 
			
		||||
			self::setBoundaries($item['uri-id']);
 | 
			
		||||
			$statuses[] = DI::mstdnStatus()->createFromUriId($item['uri-id'], $uid, $display_quotes);
 | 
			
		||||
			try {
 | 
			
		||||
				$statuses[] = DI::mstdnStatus()->createFromUriId($item['uri-id'], $uid, $display_quotes);
 | 
			
		||||
			} catch (\Throwable $th) {
 | 
			
		||||
				Logger::info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'error' => $th]);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		DBA::close($items);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,6 +21,7 @@
 | 
			
		|||
 | 
			
		||||
namespace Friendica\Module\Api\Mastodon;
 | 
			
		||||
 | 
			
		||||
use Friendica\Core\Logger;
 | 
			
		||||
use Friendica\Core\System;
 | 
			
		||||
use Friendica\Database\DBA;
 | 
			
		||||
use Friendica\DI;
 | 
			
		||||
| 
						 | 
				
			
			@ -76,7 +77,11 @@ class Favourited extends BaseApi
 | 
			
		|||
		$statuses = [];
 | 
			
		||||
		while ($item = Post::fetch($items)) {
 | 
			
		||||
			self::setBoundaries($item['thr-parent-id']);
 | 
			
		||||
			$statuses[] = DI::mstdnStatus()->createFromUriId($item['thr-parent-id'], $uid, $display_quotes);
 | 
			
		||||
			try {
 | 
			
		||||
				$statuses[] = DI::mstdnStatus()->createFromUriId($item['thr-parent-id'], $uid, $display_quotes);
 | 
			
		||||
			} catch (\Throwable $th) {
 | 
			
		||||
				Logger::info('Post not fetchable', ['uri-id' => $item['thr-parent-id'], 'uid' => $uid, 'error' => $th]);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		DBA::close($items);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,6 +21,7 @@
 | 
			
		|||
 | 
			
		||||
namespace Friendica\Module\Api\Mastodon;
 | 
			
		||||
 | 
			
		||||
use Friendica\Core\Logger;
 | 
			
		||||
use Friendica\Core\Protocol;
 | 
			
		||||
use Friendica\Core\System;
 | 
			
		||||
use Friendica\Database\DBA;
 | 
			
		||||
| 
						 | 
				
			
			@ -181,7 +182,11 @@ class Search extends BaseApi
 | 
			
		|||
		$statuses = [];
 | 
			
		||||
		while ($item = Post::fetch($items)) {
 | 
			
		||||
			self::setBoundaries($item['uri-id']);
 | 
			
		||||
			$statuses[] = DI::mstdnStatus()->createFromUriId($item['uri-id'], $uid, $display_quotes);
 | 
			
		||||
			try {
 | 
			
		||||
				$statuses[] = DI::mstdnStatus()->createFromUriId($item['uri-id'], $uid, $display_quotes);
 | 
			
		||||
			} catch (\Throwable $th) {
 | 
			
		||||
				Logger::info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'error' => $th]);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		DBA::close($items);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,6 +21,7 @@
 | 
			
		|||
 | 
			
		||||
namespace Friendica\Module\Api\Mastodon\Timelines;
 | 
			
		||||
 | 
			
		||||
use Friendica\Core\Logger;
 | 
			
		||||
use Friendica\Core\System;
 | 
			
		||||
use Friendica\Database\DBA;
 | 
			
		||||
use Friendica\DI;
 | 
			
		||||
| 
						 | 
				
			
			@ -96,7 +97,11 @@ class Home extends BaseApi
 | 
			
		|||
		$statuses = [];
 | 
			
		||||
		while ($item = Post::fetch($items)) {
 | 
			
		||||
			self::setBoundaries($item['uri-id']);
 | 
			
		||||
			$statuses[] = DI::mstdnStatus()->createFromUriId($item['uri-id'], $uid, $display_quotes);
 | 
			
		||||
			try {
 | 
			
		||||
				$statuses[] = DI::mstdnStatus()->createFromUriId($item['uri-id'], $uid, $display_quotes);
 | 
			
		||||
			} catch (\Throwable $th) {
 | 
			
		||||
				Logger::info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'error' => $th]);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		DBA::close($items);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,6 +21,7 @@
 | 
			
		|||
 | 
			
		||||
namespace Friendica\Module\Api\Mastodon\Timelines;
 | 
			
		||||
 | 
			
		||||
use Friendica\Core\Logger;
 | 
			
		||||
use Friendica\Core\System;
 | 
			
		||||
use Friendica\Database\DBA;
 | 
			
		||||
use Friendica\DI;
 | 
			
		||||
| 
						 | 
				
			
			@ -101,7 +102,11 @@ class ListTimeline extends BaseApi
 | 
			
		|||
		$statuses = [];
 | 
			
		||||
		while ($item = Post::fetch($items)) {
 | 
			
		||||
			self::setBoundaries($item['uri-id']);
 | 
			
		||||
			$statuses[] = DI::mstdnStatus()->createFromUriId($item['uri-id'], $uid, $display_quotes);
 | 
			
		||||
			try {
 | 
			
		||||
				$statuses[] = DI::mstdnStatus()->createFromUriId($item['uri-id'], $uid, $display_quotes);
 | 
			
		||||
			} catch (\Throwable $th) {
 | 
			
		||||
				Logger::info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'error' => $th]);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		DBA::close($items);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,6 +21,7 @@
 | 
			
		|||
 | 
			
		||||
namespace Friendica\Module\Api\Mastodon\Timelines;
 | 
			
		||||
 | 
			
		||||
use Friendica\Core\Logger;
 | 
			
		||||
use Friendica\Core\Protocol;
 | 
			
		||||
use Friendica\Core\System;
 | 
			
		||||
use Friendica\Database\DBA;
 | 
			
		||||
| 
						 | 
				
			
			@ -110,7 +111,11 @@ class Tag extends BaseApi
 | 
			
		|||
		$statuses = [];
 | 
			
		||||
		while ($item = Post::fetch($items)) {
 | 
			
		||||
			self::setBoundaries($item['uri-id']);
 | 
			
		||||
			$statuses[] = DI::mstdnStatus()->createFromUriId($item['uri-id'], $uid, $display_quotes);
 | 
			
		||||
			try {
 | 
			
		||||
				$statuses[] = DI::mstdnStatus()->createFromUriId($item['uri-id'], $uid, $display_quotes);
 | 
			
		||||
			} catch (\Throwable $th) {
 | 
			
		||||
				Logger::info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'error' => $th]);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		DBA::close($items);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,6 +21,7 @@
 | 
			
		|||
 | 
			
		||||
namespace Friendica\Module\Api\Mastodon\Trends;
 | 
			
		||||
 | 
			
		||||
use Friendica\Core\Logger;
 | 
			
		||||
use Friendica\Core\Protocol;
 | 
			
		||||
use Friendica\Core\System;
 | 
			
		||||
use Friendica\Database\DBA;
 | 
			
		||||
| 
						 | 
				
			
			@ -53,7 +54,11 @@ class Statuses extends BaseApi
 | 
			
		|||
		$trending = [];
 | 
			
		||||
		$statuses = Post::selectPostThread(['uri-id'], $condition, ['limit' => $request['limit'], 'order' => ['total-actors' => true]]);
 | 
			
		||||
		while ($status = Post::fetch($statuses)) {
 | 
			
		||||
			$trending[] = DI::mstdnStatus()->createFromUriId($status['uri-id'], $uid, $display_quotes);
 | 
			
		||||
			try {
 | 
			
		||||
				$trending[] = DI::mstdnStatus()->createFromUriId($status['uri-id'], $uid, $display_quotes);
 | 
			
		||||
			} catch (\Throwable $th) {
 | 
			
		||||
				Logger::info('Post not fetchable', ['uri-id' => $status['uri-id'], 'uid' => $uid, 'error' => $th]);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		DBA::close($statuses);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue