Works on #55
This commit is contained in:
Mouse Reeve
2020-02-20 22:19:19 -08:00
parent 13b512b569
commit 870d0b9697
15 changed files with 205 additions and 37 deletions

View File

@ -12,7 +12,8 @@ import requests
from fedireads import activitypub
from fedireads import models
from fedireads import outgoing
from fedireads.status import create_review, create_status
from fedireads.openlibrary import get_or_create_book
from fedireads.status import create_review, create_status, create_tag
from fedireads.remote_user import get_or_create_remote_user
@ -49,6 +50,9 @@ def shared_inbox(request):
elif activity['type'] == 'Like':
response = handle_incoming_favorite(activity)
elif activity['type'] == 'Add':
response = handle_incoming_add(activity)
# TODO: Add, Undo, Remove, etc
return response
@ -274,6 +278,19 @@ def handle_incoming_favorite(activity):
return HttpResponse()
def handle_incoming_add(activity):
''' someone is tagging or shelving a book '''
if activity['object']['type'] == 'Tag':
user = get_or_create_remote_user(activity['actor'])
if not user.local:
book_id = activity['target']['id'].split('/')[-1]
book = get_or_create_book(book_id)
create_tag(user, book, activity['object']['name'])
return HttpResponse()
return HttpResponse()
return HttpResponseNotFound()
def handle_incoming_accept(activity):
''' someone is accepting a follow request '''
# our local user