aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/util.py
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/util.py')
-rw-r--r--mediagoblin/util.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/mediagoblin/util.py b/mediagoblin/util.py
index 1f568ed3..a66e2ba5 100644
--- a/mediagoblin/util.py
+++ b/mediagoblin/util.py
@@ -19,9 +19,10 @@ import gettext
import pkg_resources
import smtplib
import sys
-
+import re
import jinja2
import mongokit
+import translitcodec
from mediagoblin import globals as mgoblin_globals
@@ -107,6 +108,18 @@ def import_component(import_string):
func = getattr(module, func_name)
return func
+_punct_re = re.compile(r'[\t !"#$%&\'()*\-/<=>?@\[\\\]^_`{|},.]+')
+
+def slugify(text, delim=u'-'):
+ """
+ Generates an ASCII-only slug. Taken from http://flask.pocoo.org/snippets/5/
+ """
+ result = []
+ for word in _punct_re.split(text.lower()):
+ word = word.encode('translit/long')
+ if word:
+ result.append(word)
+ return unicode(delim.join(result))
### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
### Special email test stuff begins HERE