Python3 Migrate
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import re
|
||||
import unicodedata
|
||||
|
||||
|
||||
def indent(string, places=4, linebreak="\n", singles=False):
|
||||
lines = string.split(linebreak)
|
||||
if not singles and len(lines) == 1:
|
||||
return string
|
||||
for i, line in enumerate(lines):
|
||||
lines[i] = " " * places + line
|
||||
result = linebreak.join(lines)
|
||||
if not singles:
|
||||
result = linebreak + result
|
||||
return result
|
||||
|
||||
|
||||
def slugify(value):
|
||||
"""
|
||||
Converts to lowercase, removes non-word characters (alphanumerics and
|
||||
underscores) and converts spaces to hyphens. Also strips leading and
|
||||
trailing whitespace.
|
||||
|
||||
This function is based on Django's slugify implementation.
|
||||
"""
|
||||
value = unicodedata.normalize("NFKD", value)
|
||||
value = value.encode("ascii", "ignore").decode("ascii")
|
||||
value = re.sub(r"[^\w\s-]", "", value).strip().lower()
|
||||
return re.sub(r"[-\s]+", "-", value)
|
||||
Reference in New Issue
Block a user