Esempio n. 1
0
class Resy(object):
    def __init__(self, api_key=None):
        self.base_requester = Requester(api_key)

    def location(self, params=None, lat=None, long=None, radius=None):
        """Returns venues wthin a given radius"""
        if params is None:
            params = self._process_params(locals())
        return self.base_requester.GET('location/config', 3, params)

    def venues(self, params=None, location_id=None):
        """Returns venues from within a location_id"""
        if params is None:
            params = self._process_params(locals())
        return self.base_requester.GET('venues', 2, params)

    def venue(self, params=None, location_id=None, url_slug=None):
        """returns a specific venue given location_id and url_slug (venue name)"""
        if params is None:
            params = self._process_params(locals())
        return self.base_requester.GET('venue', 2, params)

    def calendar(self, params=None, id=None):
        """ returns the dates open for a specific venue"""
        if params is None:
            params = self._process_params(locals())
        return self.base_requester.GET('venue/calendar', 2, params)

    def top(self, params=None, day=None, location_id=None, num_seats=None):
        """returns the top venues from a given day, location, and seat number"""
        if params is None:
            params = self._process_params(locals())
        return self.base_requester.GET('venues/top', 2, params)

    # def reservation(self, params=None,  x=None, y=None, day=None, num_seats=None,
    #                 auth_token=None, time_slot=None, venue_id=None, location_id=None):
    #     if params is None:
    #         params = self._process_params(locals())
    #     return self.base_requester.GET('reservation/find', 2, params)

    def get(self, path, version, params):
        """returns json for a specific path, version, and paramater list"""
        return self.base_requester.GET(path, version, params)

    def set_key(self, api_key):
        """set the api_key"""
        self.base_requester.set_key(api_key)

    def _process_params(self, params={}):
        """read in the locals from a function, and return the processed params dictionary"""
        for key, value in params.copy().iteritems():
            if 'self' == key or None == value:
                del params[key]
        return params