Added minimum words length argument in 'generate_url' function, with a default value of 2 characters
--- a/src/pyams_utils/url.py Wed Dec 05 12:45:56 2018 +0100
+++ b/src/pyams_utils/url.py Wed Dec 05 16:55:48 2018 +0100
@@ -12,9 +12,6 @@
__docformat__ = 'restructuredtext'
-
-# import standard library
-
from pyramid.encode import url_quote, urlencode
from pyramid.url import QUERY_SAFE, resource_url
from zope.interface import Interface
@@ -25,13 +22,13 @@
from pyams_utils.unicode import translate_string
-def generate_url(title):
+def generate_url(title, min_word_length=2):
"""Generate an SEO-friendly content URL from it's title
The original title is translated to remove accents, converted to lowercase, and words
shorter than three characters are removed; terms are joined by hyphens.
"""
- return '-'.join(filter(lambda x: len(x) > 2,
+ return '-'.join(filter(lambda x: len(x) >= min_word_length,
translate_string(title, escape_slashes=True, force_lower=True, spaces='-',
remove_punctuation=True, keep_chars='-').split('-')))