mirror of
https://github.com/bookwyrm-social/bookwyrm.git
synced 2024-11-26 03:21:05 +00:00
parent
400ddaa5fd
commit
9f2bad67a7
1 changed files with 22 additions and 0 deletions
|
@ -3,6 +3,7 @@ import requests
|
|||
from urllib.parse import urlparse
|
||||
|
||||
from fedireads import models
|
||||
from fedireads.status import create_review
|
||||
|
||||
|
||||
def get_or_create_remote_user(actor):
|
||||
|
@ -44,6 +45,27 @@ def get_or_create_remote_user(actor):
|
|||
local=False,
|
||||
fedireads_user=data.get('fedireadsUser', False),
|
||||
)
|
||||
if user.fedireads_user:
|
||||
get_remote_reviews(user)
|
||||
return user
|
||||
|
||||
|
||||
def get_remote_reviews(user):
|
||||
''' ingest reviews by a new remote fedireads user '''
|
||||
outbox_page = user.outbox + '?page=true'
|
||||
response = requests.get(
|
||||
outbox_page,
|
||||
headers={'Accept': 'application/activity+json'}
|
||||
)
|
||||
data = response.json()
|
||||
for status in data['orderedItems']:
|
||||
if status.get('fedireadsType') == 'Review':
|
||||
book_id = status['inReplyToBook'].split('/')[-1]
|
||||
create_review(
|
||||
user,
|
||||
book_id,
|
||||
status['name'],
|
||||
status['content'],
|
||||
status['rating']
|
||||
)
|
||||
|
||||
|
|
Loading…
Reference in a new issue