From f20f59cdc72aac588202a19cadabee4e40e29685 Mon Sep 17 00:00:00 2001 From: Julien Veyssier Date: Sat, 16 Mar 2013 13:41:15 +0100 Subject: [PATCH] [cuisineaz] strip accents in pattern --- modules/cuisineaz/backend.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/cuisineaz/backend.py b/modules/cuisineaz/backend.py index 1f49e1ab..a39bde5a 100644 --- a/modules/cuisineaz/backend.py +++ b/modules/cuisineaz/backend.py @@ -22,8 +22,13 @@ from weboob.tools.backend import BaseBackend from .browser import CuisineazBrowser +import unicodedata + __all__ = ['CuisineazBackend'] +def strip_accents(s): + return ''.join(c for c in unicodedata.normalize('NFD', s) if unicodedata.category(c) != 'Mn') + class CuisineazBackend(BaseBackend, ICapRecipe): NAME = 'cuisineaz' @@ -41,7 +46,9 @@ class CuisineazBackend(BaseBackend, ICapRecipe): return self.browser.get_recipe(id) def iter_recipes(self, pattern): - return self.browser.iter_recipes(pattern.encode('utf-8')) + # the search form does that so the url is clean of special chars + # we go directly on search results by the url so we strip it too + return self.browser.iter_recipes(strip_accents(pattern).encode('utf-8')) def fill_recipe(self, recipe, fields): if 'nb_person' in fields or 'instructions' in fields: