# coding=UTF-8 import json from flask import request, current_app, Response import unidecode import re def check_api_key(): api_keys = current_app.config.get("API_KEYS") if not api_keys: return auth = request.authorization if not auth or not auth.username in api_keys: response = json.dumps({'status': 401, 'message': 'No valid API key provided'}) return Response( response, 401, {'WWW-Authenticate': 'Basic realm="Login Required"'} ) def slugify(text): """Converts a string to a human-readable url""" # translate text = unidecode.unidecode(text) # lowercase text = text.lower() # replace unwanted chars numbers = re.compile('(?<=\d),(?=\d)') text = numbers.sub('', text) unwanted_chars = re.compile(r'[^_a-z0-9/]+') text = unwanted_chars.sub('_', text) # remove redundant _ duplicated_underscores = re.compile('_{2,}') text = duplicated_underscores.sub('_', text) text = text.strip('_') return text