Files
api2/api/helpers.py
T

27 lines
574 B
Python

# coding=UTF-8
import unidecode
import re
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