def related(self, collection_id): """ Retrieve a list of collections related to this one. :param collection_id [string]: The collection’s ID. Required. :return: [Array]: A single page of the Collection list. """ url = "/collections/%s/related" % collection_id result = self._get(url) return CollectionModel.parse_list(result)
def curated(self, page=1, per_page=10): """ Get a single page from the list of curated collections. :param page [integer]: Page number to retrieve. (Optional; default: 1) :param per_page [integer]: Number of items per page. (Optional; default: 10) :return: [Array]: A single page of the Collection list. """ url = "/collections/curated" result = self._all(url, page=page, per_page=per_page) return CollectionModel.parse_list(result)
def collections(self, username, page=1, per_page=10): """ Get a list of collections created by the user. :param username [string]: The user’s username. Required. :param page [integer]: Page number to retrieve. (Optional; default: 1) :param per_page [integer]: Number of items per page. (Optional; default: 10) :return: [Array]: A single page of the Collection list. """ url = "/users/{username}/collections".format(username=username) params = {"page": page, "per_page": per_page} result = self._get(url, params=params) return CollectionModel.parse_list(result)
def collections(self, query, page=1, per_page=10): """ Get a single page of collection results for a query. :param query [string]: Search terms. :param page [integer]: Page number to retrieve. (Optional; default: 1) :param per_page [integer]: Number of items per page. (Optional; default: 10) :return: [dict]: {u'total': 0, u'total_pages': 0, u'results': [Collection]} """ url = "/search/collections" data = self._search(url, query, page=page, per_page=per_page) data["results"] = CollectionModel.parse_list(data.get("results")) return data