예제 #1
0
    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))
예제 #2
0
    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))
예제 #3
0
 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
예제 #4
0
    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)
예제 #5
0
    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)
예제 #6
0
 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
예제 #7
0
    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
예제 #8
0
    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
예제 #9
0
    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
예제 #10
0
    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