Aller au contenu. | Aller à la navigation

Outils personnels

Navigation

Vous êtes ici : Accueil / Wiki / gestion cas particuliers import de pages statiques

gestion cas particuliers import de pages statiques

petit script dans zope pour gérer le changement de titre (qui ne passe pas en unicode) :

html2utf8

htmlcodes = [u'Á', u'á', u'À', u'Â', u'à', u'Â', u'â', u'Ä', u'ä', u'Ã', u'ã', u'Å', u'å', u'&Aelig;', u'æ', u'Ç', u'ç', u'&Eth;', u'ð', u'É', u'é', u'È', u'è', u'Ê', u'ê', u'Ë', u'ë', u'Í', u'í', u'Ì', u'ì', u'Î', u'î', u'Ï', u'ï', u'Ñ', u'ñ', u'Ó', u'ó', u'Ò', u'ò', u'Ô', u'ô', u'Ö', u'ö', u'Õ', u'õ', u'Ø', u'ø', u'ß', u'&Thorn;', u'þ', u'Ú', u'ú', u'Ù', u'ù', u'Û', u'û', u'Ü', u'ü', u'Ý', u'ý', u'ÿ', u'©', u'®', u'™', u'€', u'¢', u'£', u'‘', u'’', u'“', u'”', u'«', u'»', u'—', u'–', u'°', u'±', u'¼', u'½', u'¾', u'×', u'÷', u'α', u'β', u'&infin']
funnychars = [u'\xc1', u'\xe1', u'\xc0', u'\xc2', u'\xe0', u'\xc2', u'\xe2', u'\xc4', u'\xe4', u'\xc3', u'\xe3', u'\xc5', u'\xe5', u'\xc6', u'\xe6', u'\xc7', u'\xe7', u'\xd0', u'\xf0', u'\xc9', u'\xe9', u'\xc8', u'\xe8', u'\xca', u'\xea', u'\xcb', u'\xeb', u'\xcd', u'\xed', u'\xcc', u'\xec', u'\xce', u'\xee', u'\xcf', u'\xef', u'\xd1', u'\xf1', u'\xd3', u'\xf3', u'\xd2', u'\xf2', u'\xd4', u'\xf4', u'\xd6', u'\xf6', u'\xd5', u'\xf5', u'\xd8', u'\xf8', u'\xdf', u'\xde', u'\xfe', u'\xda', u'\xfa', u'\xd9', u'\xf9', u'\xdb', u'\xfb', u'\xdc', u'\xfc', u'\xdd', u'\xfd', u'\xff', u'\xa9', u'\xae', u'\u2122', u'\u20ac', u'\xa2', u'\xa3', u'\u2018', u'\u2019', u'\u201c', u'\u201d', u'\xab', u'\xbb', u'\u2014', u'\u2013', u'\xb0', u'\xb1', u'\xbc', u'\xbd', u'\xbe', u'\xd7', u'\xf7', u'\u03b1', u'\u03b2', u'\u221e']
from Products.CMFCore.utils import getToolByName
catalog = getToolByName(context, 'portal_catalog')
results = catalog(portal_type='Document',
path={'query': "/rd/archives", 'depth': 6})
for brain in results:
obj = brain.getObject()
title = obj.title
for x in htmlcodes:
if x in title:
title = title.replace(x,funnychars[htmlcodes.index(x)])
print title
if title != obj.title:
obj.setTitle(title)
return printed
htmlcodes = [u'Á', u'á', u'À', u'Â', u'à', u'Â', u'â', u'Ä', u'ä', u'Ã', u'ã', u'Å', u'å', u'&Aelig;', u'æ', u'Ç', u'ç', u'&Eth;', u'ð', u'É', u'é', u'È', u'è', u'Ê', u'ê', u'Ë', u'ë', u'Í', u'í', u'Ì', u'ì', u'Î', u'î', u'Ï', u'ï', u'Ñ', u'ñ', u'Ó', u'ó', u'Ò', u'ò', u'Ô', u'ô', u'Ö', u'ö', u'Õ', u'õ', u'Ø', u'ø', u'ß', u'&Thorn;', u'þ', u'Ú', u'ú', u'Ù', u'ù', u'Û', u'û', u'Ü', u'ü', u'Ý', u'ý', u'ÿ', u'©', u'®', u'™', u'€', u'¢', u'£', u'‘', u'’', u'“', u'”', u'«', u'»', u'—', u'–', u'°', u'±', u'¼', u'½', u'¾', u'×', u'÷', u'α', u'β', u'&infin']funnychars = [u'\xc1', u'\xe1', u'\xc0', u'\xc2', u'\xe0', u'\xc2', u'\xe2', u'\xc4', u'\xe4', u'\xc3', u'\xe3', u'\xc5', u'\xe5', u'\xc6', u'\xe6', u'\xc7', u'\xe7', u'\xd0', u'\xf0', u'\xc9', u'\xe9', u'\xc8', u'\xe8', u'\xca', u'\xea', u'\xcb', u'\xeb', u'\xcd', u'\xed', u'\xcc', u'\xec', u'\xce', u'\xee', u'\xcf', u'\xef', u'\xd1', u'\xf1', u'\xd3', u'\xf3', u'\xd2', u'\xf2', u'\xd4', u'\xf4', u'\xd6', u'\xf6', u'\xd5', u'\xf5', u'\xd8', u'\xf8', u'\xdf', u'\xde', u'\xfe', u'\xda', u'\xfa', u'\xd9', u'\xf9', u'\xdb', u'\xfb', u'\xdc', u'\xfc', u'\xdd', u'\xfd', u'\xff', u'\xa9', u'\xae', u'\u2122', u'\u20ac', u'\xa2', u'\xa3', u'\u2018', u'\u2019', u'\u201c', u'\u201d', u'\xab', u'\xbb', u'\u2014', u'\u2013', u'\xb0', u'\xb1', u'\xbc', u'\xbd', u'\xbe', u'\xd7', u'\xf7', u'\u03b1', u'\u03b2', u'\u221e']

from Products.CMFCore.utils import getToolByNamecatalog = getToolByName(context, 'portal_catalog')
results = catalog(portal_type='Document',                           path={'query': "/rd/archives", 'depth': 6})
for brain in results:    obj = brain.getObject()    title = obj.title    for x in htmlcodes:         if x in title:            title = title.replace(x,funnychars[htmlcodes.index(x)])            print title    if title != obj.title:        obj.setTitle(title)return printed