Source code for cannabis_reports.apis.dispensaries
# -*- coding: utf-8 -*-
# Copyright 2017-TODAY LasLabs Inc.
# License MIT (https://opensource.org/licenses/MIT).
from .abstract_entity_endpoint import AbstractEntityEndpoint
from ..models.dispensary import Dispensary
from ..models.strain import Strain
[docs]class Dispensaries(AbstractEntityEndpoint):
    """This represents the ``Dispensaries`` Endpoint.
    https://developers.cannabisreports.com/docs/dispensaries
    """
    __object__ = Dispensary
    __endpoint__ = 'dispensaries'
[docs]    @classmethod
    def get_strains(cls, session, slug, limit=None):
        """Gets a paginated list of strains for a dispensary with the
        given slug.
        Args:
            session (requests.sessions.Session): Authenticated session.
            slug (str): Slug for the name of the dispensary (includes
                city/state slug).
            limit (int, optional): Stop after iterating this many pages.
        Returns:
            RequestPaginator(output_type=Strain):
                The strains for this dispensary.
        """
        return cls(
            '/%s/%s/strains' % (cls.__endpoint__, slug),
            session=session,
            out_type=Strain,
            iteration_limit=limit,
        ) 
[docs]    @classmethod
    def get_available(cls, *args, **kwargs):
        raise NotImplementedError(
            'This endpoint does not implement availability searches.',
        )