pycolib/makeurl.py
author Radek Brich <radek.brich@devl.cz>
Wed, 09 Jul 2014 17:56:48 +0200
changeset 15 497067ee16b7
parent 1 ee31f1bf17c1
permissions -rw-r--r--
Update setup.py: Do not rename the package to python3-pycolib for bdist_rpm target. This should be done by packager if needed.

from unicodedata import normalize, combining


def uncombine(text):
    return ''.join([c for c in normalize('NFKD', text) if not combining(c)])


def makeurl(title):
    norm = uncombine(title)
    url = norm.lower()
    url = url.replace(' ', '-')
    url = url.replace('.', '-')
    url = url.replace(':', '-')
    url = url.replace('\'', '')
    url = url.replace('(', '')
    url = url.replace(')', '')
    url = url.replace('\"', '')
    url = url.replace('?', '')
    url = url.strip('-')
    url = url.replace('--', '-')
    url = url.replace('--', '-')
    return url


def fix_unicode_chars(text):
    # replace latin2-unencodable chars with their escape codes
    return unicode(text.encode('iso-8859-2', 'backslashreplace').replace('\\x','#'), 'iso-8859-2')