diff --git a/modules/allrecipes/backend.py b/modules/allrecipes/backend.py index c588bf5ea5fd984e1fdc04ae50524e883499ae86..6d53fa4a7ade16a324ff013391cd0cbd93a966d9 100644 --- a/modules/allrecipes/backend.py +++ b/modules/allrecipes/backend.py @@ -22,6 +22,8 @@ from .browser import AllrecipesBrowser +from urllib import quote_plus + __all__ = ['AllrecipesBackend'] @@ -41,7 +43,7 @@ def get_recipe(self, id): return self.browser.get_recipe(id) def iter_recipes(self, pattern): - return self.browser.iter_recipes(pattern.encode('utf-8')) + return self.browser.iter_recipes(quote_plus(pattern.encode('utf-8'))) def fill_recipe(self, recipe, fields): if 'nb_person' in fields or 'instructions' in fields: diff --git a/modules/allrecipes/pages.py b/modules/allrecipes/pages.py index c249043319e903a900162f043fcfbb8dbd0b817f..a0dc6a538835f9aca00ac7e1da1b0ffba618e9f6 100644 --- a/modules/allrecipes/pages.py +++ b/modules/allrecipes/pages.py @@ -92,12 +92,24 @@ def get_recipe(self, id): instructions += '%s: %s\n' % (num_instr, inst.text_content()) num_instr += 1 + prepmin = 0 + emprep = self.parser.select(self.document.getroot(), 'span#prepHoursSpan em') + if len(emprep) > 0: + prepmin += int(emprep[0].text) * 60 emprep = self.parser.select(self.document.getroot(), 'span#prepMinsSpan em') if len(emprep) > 0: - preparation_time = int(emprep[0].text) + prepmin += int(emprep[0].text) + if prepmin != 0: + preparation_time = prepmin + cookmin = 0 + emcooktime = self.parser.select(self.document.getroot(), 'span#cookHoursSpan em') + if len(emcooktime) > 0: + cookmin += int(emcooktime[0].text) * 60 emcooktime = self.parser.select(self.document.getroot(), 'span#cookMinsSpan em') if len(emcooktime) > 0: - cooking_time = int(emcooktime[0].text) + cookmin += int(emcooktime[0].text) + if cookmin != 0: + cooking_time = cookmin l_nbpers = self.parser.select(self.document.getroot(), 'span#lblYield[itemprop=recipeYield]') if len(l_nbpers) > 0: nb_person = int(l_nbpers[0].text.split()[0])