Load author data with fedireads connector
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
''' bring activitypub functions into the namespace '''
|
||||
from .actor import get_actor
|
||||
from .book import get_book
|
||||
from .book import get_book, get_author
|
||||
from .create import get_create, get_update
|
||||
from .follow import get_following, get_followers
|
||||
from .follow import get_follow_request, get_unfollow, get_accept, get_reject
|
||||
|
@ -36,7 +36,7 @@ def get_book(book, recursive=True):
|
||||
'name': book.title,
|
||||
'url': book.absolute_id,
|
||||
|
||||
'authors': [get_author(a) for a in book.authors.all()],
|
||||
'authors': [a.absolute_id for a in book.authors.all()],
|
||||
'first_published_date': book.first_published_date.isoformat() if \
|
||||
book.first_published_date else None,
|
||||
'published_date': book.published_date.isoformat() if \
|
||||
@ -68,7 +68,21 @@ def get_book(book, recursive=True):
|
||||
|
||||
def get_author(author):
|
||||
''' serialize an author '''
|
||||
return {
|
||||
'name': author.name,
|
||||
fields = [
|
||||
'name',
|
||||
'born',
|
||||
'died',
|
||||
'aliases',
|
||||
'bio'
|
||||
'openlibrary_key',
|
||||
'wikipedia_link',
|
||||
]
|
||||
activity = {
|
||||
'@context': 'https://www.w3.org/ns/activitystreams',
|
||||
'url': author.absolute_id,
|
||||
'type': 'Person',
|
||||
}
|
||||
for field in fields:
|
||||
if hasattr(author, field):
|
||||
activity[field] = author.__getattribute__(field)
|
||||
return activity
|
||||
|
Reference in New Issue
Block a user