Source code for scrapereads.reads.quote

"""
Defines a quote from an Author.
"""

from abc import ABC, abstractmethod
import langdetect

from scrapereads.connect import connect
from scrapereads.utils import *
from scrapereads.meta import QuoteMeta


[docs]class Quote(QuoteMeta): """Defines a quote from the quote page from ``https://www.goodreads.com/author/quotes/``. """ def __init__(self, author_id, quote_id, text='', quote_name=None, author_name=None, tags=None, likes=None): super().__init__(author_id, quote_id, text=text, quote_name=quote_name, author_name=author_name, tags=tags, likes=likes) # TODO: add nested JSON option
[docs] def to_json(self, encode='ascii'): """Encode the quote to a JSON format. Returns: dict """ book = self.get_book() book_name = None if book: book_name = book.book_name # Default data, without any encoding data = { 'author': self.author_name, 'book': book_name, 'likes': self.likes, 'tags': self.tags, 'quote': self.text, } if encode: return serialize_dict(data) return data