diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py index 50163902b7a..04967d5726a 100644 --- a/addons/website/controllers/main.py +++ b/addons/website/controllers/main.py @@ -7,17 +7,25 @@ import json import logging import os import datetime +import re from sys import maxint import psycopg2 -import slugify import werkzeug import werkzeug.exceptions import werkzeug.utils import werkzeug.wrappers from PIL import Image +try: + from slugify import slugify +except ImportError: + def slugify(s, max_length=None): + spaceless = re.sub(r'\s+', '-', s) + specialless = re.sub(r'[^-_a-z0-9]', '', spaceless) + return specialless[:max_length] + import openerp from openerp.addons.website.models import website from openerp.addons.web import http @@ -53,7 +61,7 @@ class Website(openerp.addons.web.controllers.main.Home): def pagenew(self, path, noredirect=NOPE): module = 'website' # completely arbitrary max_length - idname = slugify.slugify(path, max_length=50) + idname = slugify(path, max_length=50) request.cr.execute('SAVEPOINT pagenew') imd = request.registry['ir.model.data']