Source code for goodreads_api_client.resources.group

# -*- coding: utf-8 -*-
"""Module containing group resource class."""

from goodreads_api_client.exceptions import OauthEndpointNotImplemented
from goodreads_api_client.resources.base import Resource


[docs]class Group(Resource): resource_name = 'group'
[docs] def join(self): raise OauthEndpointNotImplemented('group.join')
[docs] def list(self, user_id: str, sort: str='title'): endpoint = 'group/list/{}'.format(user_id) params = { 'sort': sort, } res = self._transport.req(endpoint=endpoint, params=params) return res['groups']
[docs] def members(self, id_: str, sort: str='first_name', q: str=None, page: int=1): endpoint = 'group/members/{}'.format(id_) params = { 'page': page, 'sort': sort, 'q': q, } res = self._transport.req(endpoint=endpoint, params=params) return res['group_users']
[docs] def search(self, q: str=None, page: int=1): endpoint = 'group/search' params = { 'page': page, 'q': q, } res = self._transport.req(endpoint=endpoint, params=params) return res['groups']
[docs] def show(self, id_: str): return self._show_single_resource(id_)