moviewyrm/bookwyrm/models/__init__.py

33 lines
1 KiB
Python
Raw Normal View History

2020-02-11 23:17:21 +00:00
''' bring all the models into the app namespace '''
import inspect
import sys
from .book import Book, Work, Edition
from .author import Author
2020-09-17 20:09:11 +00:00
from .connector import Connector
2020-03-07 06:56:44 +00:00
from .shelf import Shelf, ShelfBook
2020-10-30 22:22:20 +00:00
from .status import Status, GeneratedNote, Review, Comment, Quotation
from .status import Favorite, Boost, Notification, ReadThrough
from .attachment import Image
from .tag import Tag, UserTag
2020-11-30 18:32:54 +00:00
from .user import User, KeyPair
from .relationship import UserFollows, UserFollowRequest, UserBlocks
2020-09-17 20:09:11 +00:00
from .federated_server import FederatedServer
from .import_job import ImportJob, ImportItem
2020-10-02 20:32:19 +00:00
from .site import SiteSettings, SiteInvite, PasswordReset
cls_members = inspect.getmembers(sys.modules[__name__], inspect.isclass)
2020-11-04 22:19:06 +00:00
activity_models = {c[1].activity_serializer.__name__: c[1] \
2020-11-04 22:13:34 +00:00
for c in cls_members if hasattr(c[1], 'activity_serializer')}
2020-12-03 20:35:57 +00:00
def to_activity(activity_json):
''' link up models and activities '''
activity_type = activity_json.get('type')
return activity_models[activity_type].to_activity(activity_json)