correctly quote title in informative URLs to avoid unicode errors
This commit is contained in:
parent
6f996004c7
commit
44f38115ba
1 changed files with 5 additions and 6 deletions
|
@ -20,16 +20,15 @@
|
||||||
Utilities.
|
Utilities.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import re
|
import re, urllib
|
||||||
from zope.app import zapi
|
|
||||||
from zope.app.pagetemplate import ViewPageTemplateFile
|
from zope.app.pagetemplate import ViewPageTemplateFile
|
||||||
from zope.app.publisher.browser.menu import BrowserMenu
|
from zope.app.publisher.browser.menu import BrowserMenu
|
||||||
from zope.app.publisher.interfaces.browser import IBrowserSubMenuItem
|
from zope.app.publisher.interfaces.browser import IBrowserSubMenuItem
|
||||||
|
from zope import component
|
||||||
from zope.formlib.namedtemplate import NamedTemplateImplementation
|
from zope.formlib.namedtemplate import NamedTemplateImplementation
|
||||||
|
|
||||||
|
|
||||||
pageform = NamedTemplateImplementation(ViewPageTemplateFile('pageform.pt'))
|
pageform = NamedTemplateImplementation(ViewPageTemplateFile('pageform.pt'))
|
||||||
#dataform = NamedTemplateImplementation(ViewPageTemplateFile('dataform.pt'))
|
|
||||||
dataform = ViewPageTemplateFile('dataform.pt')
|
dataform = ViewPageTemplateFile('dataform.pt')
|
||||||
|
|
||||||
concept_macros = NamedTemplateImplementation(ViewPageTemplateFile('concept_macros.pt'))
|
concept_macros = NamedTemplateImplementation(ViewPageTemplateFile('concept_macros.pt'))
|
||||||
|
@ -44,7 +43,7 @@ class LoopsMenu(BrowserMenu):
|
||||||
def getMenuItems(self, object, request):
|
def getMenuItems(self, object, request):
|
||||||
"""Return menu item entries in a TAL-friendly form."""
|
"""Return menu item entries in a TAL-friendly form."""
|
||||||
result = sorted([(item.order, item.action.lower(), item)
|
result = sorted([(item.order, item.action.lower(), item)
|
||||||
for name, item in zapi.getAdapters(
|
for name, item in component.getAdapters(
|
||||||
(object, request), self.getMenuItemType())
|
(object, request), self.getMenuItemType())
|
||||||
if item.available()])
|
if item.available()])
|
||||||
return [
|
return [
|
||||||
|
@ -66,7 +65,7 @@ def html_quote(text, character_entities=((u'&', u'&'), (u'<', u'<' ),
|
||||||
return text
|
return text
|
||||||
|
|
||||||
|
|
||||||
pattern = re.compile(r'[ /\?\+%]')
|
pattern = re.compile(r'[ /\?\+\|%]')
|
||||||
|
|
||||||
def normalizeForUrl(text):
|
def normalizeForUrl(text):
|
||||||
return pattern.sub('-', text)
|
return urllib.quote(pattern.sub('-', text).encode('UTF-8'))
|
||||||
|
|
Loading…
Add table
Reference in a new issue