|
|
|
|
@ -69,17 +69,20 @@ class AlemTat(object): |
|
|
|
|
retval = cache.get(cache_key, None) |
|
|
|
|
if not retval: |
|
|
|
|
url = self._build_url( |
|
|
|
|
'http://api.alemtat.kz/web/{ext}/Catalog/getCitiesByCountry?CountryLocalCode={}'.format( |
|
|
|
|
self.COUNTRY_CODE, ext=self.API_KEY)) |
|
|
|
|
'http://api.alemtat.kz/web/{ext}/Catalog/getCitiesByCountry?CountryLocalCode={code}'.format( |
|
|
|
|
code=self.COUNTRY_CODE, ext=self.API_KEY)) |
|
|
|
|
r = requests.get(url) |
|
|
|
|
retval = r.json() |
|
|
|
|
cache.set(cache_key, retval, 60 * 60 * 24 * 7) |
|
|
|
|
return retval |
|
|
|
|
|
|
|
|
|
def get_cities_tuple(self): |
|
|
|
|
if self.get_cities()['Message'] != 'Для этого запроса отказано в авторизации.': |
|
|
|
|
retval = map(lambda cities: (cities['LocalCode'], '{} - {}'.format(cities['LocalityName'].title(), cities[ |
|
|
|
|
'Region'].capitalize())), self.get_cities()) |
|
|
|
|
return tuple(retval) |
|
|
|
|
else: |
|
|
|
|
return tuple() |
|
|
|
|
|
|
|
|
|
def get_services(self): |
|
|
|
|
cache_key = 'alemtat_services' |
|
|
|
|
@ -89,8 +92,11 @@ class AlemTat(object): |
|
|
|
|
'http://api.alemtat.kz/web/{ext}/Catalog/getServices'.format(ext=self.API_KEY)) |
|
|
|
|
r = requests.get(url) |
|
|
|
|
retval = r.json() |
|
|
|
|
if retval['Message'] != 'Для этого запроса отказано в авторизации.': |
|
|
|
|
cache.set(cache_key, retval, 60 * 60 * 24 * 7) |
|
|
|
|
return filter(lambda s: s['LocalCode'] in ['E', 'T'], retval) |
|
|
|
|
else: |
|
|
|
|
return list() |
|
|
|
|
|
|
|
|
|
def get_services_tuple(self): |
|
|
|
|
retval = map(lambda services: (services['LocalCode'], services['Name'],), self.get_services()) |
|
|
|
|
|