def get_stations(cls, query):
if query.isdigit():
query = 'name:{query} OR number:{query}'.format(query=query)
else:
# Querying number with a string value raises an error, we remove this field
query = 'name:{}'.format(query)
req = requests.get(settings.VELIB_API_BASE_URL,
params={'apikey': settings.VELIB_API_KEY,
'dataset': 'stations-velib-disponibilites-en-temps-reel',
'fields': 'number,name',
'q': query,
#'sort': 'name', Seems to create an error 2016-10-21
'timezone': timezone.get_current_timezone_name()})
if not req.ok:
return ()
data = req.json()
if not data.get('nhits', 0):
# No matching data found
return ()
return [(item['fields']['number'], item['fields']['name']) for item in data.get('records', [])]
评论列表
文章目录