rename main code directory
This commit is contained in:
67
bookwyrm/activitypub/book.py
Normal file
67
bookwyrm/activitypub/book.py
Normal file
@ -0,0 +1,67 @@
|
||||
''' book and author data '''
|
||||
from dataclasses import dataclass, field
|
||||
from typing import List
|
||||
|
||||
from .base_activity import ActivityObject, Image
|
||||
|
||||
@dataclass(init=False)
|
||||
class Book(ActivityObject):
|
||||
''' serializes an edition or work, abstract '''
|
||||
authors: List[str]
|
||||
first_published_date: str
|
||||
published_date: str
|
||||
|
||||
title: str
|
||||
sort_title: str
|
||||
subtitle: str
|
||||
description: str
|
||||
languages: List[str]
|
||||
series: str
|
||||
series_number: str
|
||||
subjects: List[str]
|
||||
subject_places: List[str]
|
||||
|
||||
openlibrary_key: str
|
||||
librarything_key: str
|
||||
goodreads_key: str
|
||||
|
||||
attachment: List[Image] = field(default=lambda: [])
|
||||
type: str = 'Book'
|
||||
|
||||
|
||||
@dataclass(init=False)
|
||||
class Edition(Book):
|
||||
''' Edition instance of a book object '''
|
||||
isbn_10: str
|
||||
isbn_13: str
|
||||
oclc_number: str
|
||||
asin: str
|
||||
pages: str
|
||||
physical_format: str
|
||||
publishers: List[str]
|
||||
|
||||
work: str
|
||||
type: str = 'Edition'
|
||||
|
||||
|
||||
@dataclass(init=False)
|
||||
class Work(Book):
|
||||
''' work instance of a book object '''
|
||||
lccn: str
|
||||
editions: List[str]
|
||||
type: str = 'Work'
|
||||
|
||||
|
||||
|
||||
@dataclass(init=False)
|
||||
class Author(ActivityObject):
|
||||
''' author of a book '''
|
||||
url: str
|
||||
name: str
|
||||
born: str
|
||||
died: str
|
||||
aliases: str
|
||||
bio: str
|
||||
openlibrary_key: str
|
||||
wikipedia_link: str
|
||||
type: str = 'Person'
|
Reference in New Issue
Block a user