diff --git a/apps/booking/models/services.py b/apps/booking/models/services.py index b5d7fc86..68bc68d4 100644 --- a/apps/booking/models/services.py +++ b/apps/booking/models/services.py @@ -80,7 +80,7 @@ class GuestonlineService(AbstractBookingService): return True def commit_booking(self, payload): - url = self.url + 'v1/pending_bookings/' + payload + '/commit' + url = f'{self.url}v1/pending_bookings/{payload}/commit' r = requests.put(url, headers=self.get_common_headers()) self.response = json.loads(r.content) if status.is_success(r.status_code) and self.response is None: @@ -89,7 +89,7 @@ class GuestonlineService(AbstractBookingService): def update_pending_booking(self, payload): booking_id = payload.pop('pending_booking_id') - url = self.url + 'v1/pending_bookings/' + booking_id + url = f'{self.url}v1/pending_bookings/{booking_id}' payload['lastname'] = payload.pop('last_name') payload['firstname'] = payload.pop('first_name') payload['mobile_phone'] = payload.pop('phone') @@ -119,9 +119,16 @@ class GuestonlineService(AbstractBookingService): class LastableService(AbstractBookingService): def __init__(self): super().__init__(models.Booking.LASTABLE) + self.proxies = { + 'http': settings.LASTABLE_PROXY, + 'https': settings.LASTABLE_PROXY, + } def create_pending_booking(self, payload): - pass + return False + # url = f'{self.url}v1/restaurant/5d951f0e2dc6a50017588065/offers' + # r = requests.post(url, headers=self.get_common_headers(), proxies=self.proxies) + # return json.loads(r.content)['id'] if status.is_success(r.status_code) else False def get_common_headers(self): return {'Authorization': f'Bearer {self.token}', 'Content-type': 'application/json', @@ -129,7 +136,13 @@ class LastableService(AbstractBookingService): def check_whether_booking_available(self, restaurant_id, date): super().check_whether_booking_available(restaurant_id, date) - return False + url = f'{self.url}v1/restaurant/{restaurant_id}/offers' + r = requests.get(url, headers=self.get_common_headers(), proxies=self.proxies) + if not status.is_success(r.status_code): + return False + response = json.loads(r.content)['data'] + self.response = response + return True def commit_booking(self, payload): return False diff --git a/project/settings/base.py b/project/settings/base.py index c135a92c..5a90cc5b 100644 --- a/project/settings/base.py +++ b/project/settings/base.py @@ -266,9 +266,9 @@ SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_PARAMS = { # Booking API configuration GUESTONLINE_SERVICE = 'https://api-preprod.guestonline.fr/' GUESTONLINE_TOKEN = 'iiReiYpyojshpPjpmczS' -LASTABLE_SERVICE = 'http://34.251.84.222' +LASTABLE_SERVICE = 'http://34.251.84.222/' LASTABLE_TOKEN = '6dfc608ce5e494' -LASTABLE_PROXY = '' +LASTABLE_PROXY = 'socks5://octopod:adgjmptw@94.177.171.154:2080' # SMS Settings SMS_EXPIRATION = 5 diff --git a/requirements/base.txt b/requirements/base.txt index 25749c4b..716d21c6 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -9,6 +9,7 @@ fcm-django django-easy-select2 bootstrap-admin drf-yasg==1.16.0 +PySocks!=1.5.7,>=1.5.6; djangorestframework==3.9.4 markdown