From da8e5f6e36db09009786e306bdeee1b658af7cd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Ignacio=20S=C3=A1nchez=20Lara?= Date: Tue, 14 Nov 2017 13:15:11 +0100 Subject: [PATCH] Extract parsing and return fix --- .../cartodb_services/google/geocoder.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/server/lib/python/cartodb_services/cartodb_services/google/geocoder.py b/server/lib/python/cartodb_services/cartodb_services/google/geocoder.py index 51a6184..2fb0e01 100644 --- a/server/lib/python/cartodb_services/cartodb_services/google/geocoder.py +++ b/server/lib/python/cartodb_services/cartodb_services/google/geocoder.py @@ -15,10 +15,8 @@ class GoogleMapsGeocoder: def __init__(self, client_id, client_secret, logger): if client_id is None: raise InvalidGoogleCredentials - arguments = parse_qs(client_id) - self.client_id = arguments['client'] if arguments.has_key('client') else client_id + self.client_id, self.channel = self.parse_client_id(client_id) self.client_secret = client_secret - self.channel = arguments['channel'] if arguments.has_key('channel') else None self.geocoder = GoogleMapsClientFactory.get(self.client_id, self.client_secret, self.channel) self._logger = logger @@ -51,3 +49,9 @@ class GoogleMapsGeocoder: if country: optional_params['country'] = country return optional_params + + def parse_client_id(self, client_id): + arguments = parse_qs(client_id) + client = arguments['client'][0] if arguments.has_key('client') else client_id + channel = arguments['channel'][0] if arguments.has_key('channel') else None + return client, channel