Activity => Object: update xrpc_feed.py

#286
activity-redesign
Ryan Barrett 2023-01-28 11:42:33 -08:00
rodzic cc453035c8
commit d655ea0024
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 6BE31FDF4776E9D4
2 zmienionych plików z 8 dodań i 13 usunięć

Wyświetl plik

@ -5,8 +5,6 @@ from unittest.mock import patch
from granary import bluesky
from granary.tests.test_bluesky import (
ACTOR_AS,
ACTOR_REF_BSKY,
POST_BSKY,
POST_HTML,
REPLY_BSKY,
@ -171,7 +169,7 @@ class XrpcFeedTest(testutil.TestCase):
}, got.json)
def test_getTimeline(self, mock_get):
PagesTest.add_activities()
PagesTest.add_objects()
got = self.client.get('/xrpc/app.bsky.feed.getTimeline')
self.assertEqual({

Wyświetl plik

@ -6,9 +6,10 @@ import re
from granary import bluesky, microformats2
import mf2util
from oauth_dropins.webutil import util
from oauth_dropins.webutil.util import json_loads
from app import xrpc_server
from models import Activity
from models import Object
logger = logging.getLogger(__name__)
@ -127,17 +128,13 @@ def getTimeline(input, algorithm=None, limit=50, before=None):
user = 'foo.com'
# TODO: de-dupe with pages.feed()
logger.info(f'Fetching {limit} activities for {user}')
activities, _, _ = Activity.query(
Activity.domain == user, Activity.direction == 'in'
).order(-Activity.created
logger.info(f'Fetching {limit} objects for {user}')
objects, _, _ = Object.query(
Object.domains == user, Object.labels == 'feed'
).order(-Object.created
).fetch_page(limit)
as1_activities = [a.to_as1() for a in activities]
return {
'feed': [bluesky.from_as1(a) for a in as1_activities
if a and a.get('verb') not in ('like', 'update', 'follow')],
}
return {'feed': [bluesky.from_as1(json_loads(obj.as1)) for obj in objects]}
# TODO: use likes as votes?