From 2248206a6675a9e8b7451b7a20a0c44c10c4f6e4 Mon Sep 17 00:00:00 2001 From: Hugh Rundle Date: Wed, 8 Nov 2023 18:30:49 +1100 Subject: [PATCH] fix missing types in BookData file fields activitypub.BookData includes fields for 'files' and 'fileLinks'. This is a problem because BookData is inherited by Book and Author, neither of which have 'files' as a field in the main model. Additionally, Author doesn't have a value for 'file_links'. When serializing to JSON, BookData therefore throws 'TypeError: Object of type _MISSING_TYPE is not JSON serializable' This fixes the problem by removing links and moving fileLinks to activitypub.Book. --- bookwyrm/activitypub/book.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bookwyrm/activitypub/book.py b/bookwyrm/activitypub/book.py index 5db0dc3ac..a53222053 100644 --- a/bookwyrm/activitypub/book.py +++ b/bookwyrm/activitypub/book.py @@ -22,8 +22,6 @@ class BookData(ActivityObject): aasin: Optional[str] = None isfdb: Optional[str] = None lastEditedBy: Optional[str] = None - links: list[str] = field(default_factory=list) - fileLinks: list[str] = field(default_factory=list) # pylint: disable=invalid-name @@ -45,6 +43,8 @@ class Book(BookData): firstPublishedDate: str = "" publishedDate: str = "" + fileLinks: list[str] = field(default_factory=list) + cover: Optional[Document] = None type: str = "Book"