def get_spot_by_id(self, spot_id): url = "/api/v1/spot/%s" % spot_id dao = SPOTSEEKER_DAO() if isinstance(dao._getDAO(), File): resp = dao.getURL(url, {}) content = resp.data else: resp, content = dao.getURL(url, {}) if resp.status != 200: raise DataFailureException(url, resp.status, content) return self._spot_from_data(json.loads(content))
def _get_image(self, image_app_type, parent_id, image_id, width=None): dao = SPOTSEEKER_DAO() if width is not None: url = "/api/v1/%s/%s/image/%s/thumb/constrain/width:%s" % ( image_app_type, parent_id, image_id, width) else: url = "/api/v1/%s/%s/image/%s" % (image_app_type, parent_id, image_id) if isinstance(dao._getDAO(), File): resp = dao.getURL(url, {}) content = resp.data else: resp, content = dao.getURL(url, {}) return resp, content
def get_building_list(self, campus, app_type=None): url = "/api/v1/buildings?extended_info:campus=" + campus if app_type: url += "&extended_info:app_type=" + app_type dao = SPOTSEEKER_DAO() if isinstance(dao._getDAO(), File): resp = dao.getURL(url, {}) content = resp.data else: resp, content = dao.getURL(url, {}) if resp.status != 200: raise DataFailureException(url, resp.status, content) return json.loads(content)
def all_spots(self): """ Returns a list of all spots. """ dao = SPOTSEEKER_DAO() url = "/api/v1/spot/all" if isinstance(dao._getDAO(), File): resp = dao.getURL(url, {}) content = resp.data else: resp, content = dao.getURL(url, {}) if resp.status != 200: raise DataFailureException(url, resp.status, content) results = json.loads(content) spots = [] for res in results: spots.append(self._spot_from_data(res)) return spots
def search_spots(self, query_tuple): """ Returns a list of spots matching the passed parameters. """ dao = SPOTSEEKER_DAO() url = "/api/v1/spot?" + urlencode(query_tuple) if isinstance(dao._getDAO(), File): resp = dao.getURL(url, {}) content = resp.data else: resp, content = dao.getURL(url, {}) if resp.status != 200: raise DataFailureException(url, resp.status, content) results = json.loads(content) spots = [] for res in results: spots.append(self._spot_from_data(res)) return spots