[cookboob] author field added

This commit is contained in:
Julien Veyssier 2013-03-25 02:39:41 +01:00 committed by Florent
commit d391d1a2d8
8 changed files with 32 additions and 2 deletions

View file

@ -50,6 +50,7 @@ class SevenFiftyGramsBackend(BaseBackend, ICapRecipe):
recipe.instructions = rec.instructions recipe.instructions = rec.instructions
recipe.ingredients = rec.ingredients recipe.ingredients = rec.ingredients
recipe.comments = rec.comments recipe.comments = rec.comments
recipe.author = rec.author
recipe.nb_person = rec.nb_person recipe.nb_person = rec.nb_person
recipe.cooking_time = rec.cooking_time recipe.cooking_time = rec.cooking_time
recipe.preparation_time = rec.preparation_time recipe.preparation_time = rec.preparation_time

View file

@ -61,6 +61,7 @@ class ResultsPage(BasePage):
recipe.nb_person = NotLoaded recipe.nb_person = NotLoaded
recipe.cooking_time = NotLoaded recipe.cooking_time = NotLoaded
recipe.preparation_time = NotLoaded recipe.preparation_time = NotLoaded
recipe.author = NotLoaded
yield recipe yield recipe
@ -75,6 +76,7 @@ class RecipePage(BasePage):
ingredients = NotAvailable ingredients = NotAvailable
picture_url = NotAvailable picture_url = NotAvailable
instructions = NotAvailable instructions = NotAvailable
author = NotAvailable
comments = [] comments = []
title = unicode(self.parser.select(self.document.getroot(), 'head > title', 1).text.split(' - ')[1]) title = unicode(self.parser.select(self.document.getroot(), 'head > title', 1).text.split(' - ')[1])
@ -120,6 +122,11 @@ class RecipePage(BasePage):
if u'| Répondre' in comtxt: if u'| Répondre' in comtxt:
comtxt = comtxt.strip('0123456789').replace(u' | Répondre', '') comtxt = comtxt.strip('0123456789').replace(u' | Répondre', '')
comments.append(comtxt) comments.append(comtxt)
links_author = self.parser.select(self.document.getroot(), 'p.auteur a.couleur_membre')
print links_author[0].text.strip()
if len(links_author) > 0:
author = unicode(links_author[0].text.strip())
recipe = Recipe(id, title) recipe = Recipe(id, title)
recipe.preparation_time = preparation_time recipe.preparation_time = preparation_time
@ -129,5 +136,6 @@ class RecipePage(BasePage):
recipe.instructions = instructions recipe.instructions = instructions
recipe.picture_url = picture_url recipe.picture_url = picture_url
recipe.comments = comments recipe.comments = comments
recipe.author = author
recipe.thumbnail_url = NotLoaded recipe.thumbnail_url = NotLoaded
return recipe return recipe

View file

@ -57,6 +57,7 @@ class CuisineazBackend(BaseBackend, ICapRecipe):
recipe.instructions = rec.instructions recipe.instructions = rec.instructions
recipe.ingredients = rec.ingredients recipe.ingredients = rec.ingredients
recipe.comments = rec.comments recipe.comments = rec.comments
recipe.author = rec.author
recipe.nb_person = rec.nb_person recipe.nb_person = rec.nb_person
recipe.cooking_time = rec.cooking_time recipe.cooking_time = rec.cooking_time
recipe.preparation_time = rec.preparation_time recipe.preparation_time = rec.preparation_time

View file

@ -70,6 +70,7 @@ class ResultsPage(BasePage):
recipe.nb_person = NotLoaded recipe.nb_person = NotLoaded
recipe.cooking_time = NotLoaded recipe.cooking_time = NotLoaded
recipe.preparation_time = NotLoaded recipe.preparation_time = NotLoaded
recipe.author = NotLoaded
yield recipe yield recipe
@ -80,6 +81,7 @@ class RecipePage(BasePage):
title = NotAvailable title = NotAvailable
preparation_time = NotAvailable preparation_time = NotAvailable
cooking_time = NotAvailable cooking_time = NotAvailable
author = NotAvailable
nb_person = NotAvailable nb_person = NotAvailable
ingredients = NotAvailable ingredients = NotAvailable
picture_url = NotAvailable picture_url = NotAvailable
@ -128,6 +130,10 @@ class RecipePage(BasePage):
comments.append('author: %s, date: %s, text: %s' % ( comments.append('author: %s, date: %s, text: %s' % (
author, date, comtxt)) author, date, comtxt))
spans_author = self.parser.select(self.document.getroot(), 'span.author')
if len(spans_author) > 0:
author = unicode(spans_author[0].text_content().strip())
recipe = Recipe(id, title) recipe = Recipe(id, title)
recipe.preparation_time = preparation_time recipe.preparation_time = preparation_time
recipe.cooking_time = cooking_time recipe.cooking_time = cooking_time
@ -136,5 +142,6 @@ class RecipePage(BasePage):
recipe.instructions = instructions recipe.instructions = instructions
recipe.picture_url = picture_url recipe.picture_url = picture_url
recipe.comments = comments recipe.comments = comments
recipe.author = author
recipe.thumbnail_url = NotLoaded recipe.thumbnail_url = NotLoaded
return recipe return recipe

View file

@ -52,6 +52,7 @@ class MarmitonBackend(BaseBackend, ICapRecipe):
recipe.instructions = rec.instructions recipe.instructions = rec.instructions
recipe.ingredients = rec.ingredients recipe.ingredients = rec.ingredients
recipe.comments = rec.comments recipe.comments = rec.comments
recipe.author = rec.author
recipe.nb_person = rec.nb_person recipe.nb_person = rec.nb_person
recipe.cooking_time = rec.cooking_time recipe.cooking_time = rec.cooking_time
recipe.preparation_time = rec.preparation_time recipe.preparation_time = rec.preparation_time

View file

@ -49,6 +49,7 @@ class ResultsPage(BasePage):
recipe.thumbnail_url = thumbnail_url recipe.thumbnail_url = thumbnail_url
recipe.short_description = short_description recipe.short_description = short_description
recipe.instructions = NotLoaded recipe.instructions = NotLoaded
recipe.author = NotLoaded
recipe.ingredients = NotLoaded recipe.ingredients = NotLoaded
recipe.nb_person = NotLoaded recipe.nb_person = NotLoaded
recipe.cooking_time = NotLoaded recipe.cooking_time = NotLoaded
@ -101,4 +102,5 @@ class RecipePage(BasePage):
recipe.picture_url = picture_url recipe.picture_url = picture_url
recipe.comments = comments recipe.comments = comments
recipe.thumbnail_url = NotLoaded recipe.thumbnail_url = NotLoaded
recipe.author = NotAvailable
return recipe return recipe

View file

@ -37,6 +37,8 @@ class RecipeInfoFormatter(IFormatter):
def format_obj(self, obj, alias): def format_obj(self, obj, alias):
result = u'%s%s%s\n' % (self.BOLD, obj.title, self.NC) result = u'%s%s%s\n' % (self.BOLD, obj.title, self.NC)
result += 'ID: %s\n' % obj.fullid result += 'ID: %s\n' % obj.fullid
if not empty(obj.author):
result += 'Author: %s\n' % obj.author
result += 'Preparation time: %smin\n' % obj.preparation_time result += 'Preparation time: %smin\n' % obj.preparation_time
if not empty(obj.cooking_time): if not empty(obj.cooking_time):
result += 'Cooking time: %smin\n' % obj.cooking_time result += 'Cooking time: %smin\n' % obj.cooking_time

View file

@ -31,6 +31,7 @@ class Recipe(CapBaseObject):
Recipe object. Recipe object.
""" """
title = StringField('Title of the recipe') title = StringField('Title of the recipe')
author = StringField('Author name of the recipe')
thumbnail_url = StringField('Direct url to recipe thumbnail') thumbnail_url = StringField('Direct url to recipe thumbnail')
picture_url = StringField('Direct url to recipe picture') picture_url = StringField('Direct url to recipe picture')
short_description = StringField('Short description of a recipe') short_description = StringField('Short description of a recipe')
@ -49,8 +50,15 @@ class Recipe(CapBaseObject):
""" """
Export recipe to KRecipes XML string Export recipe to KRecipes XML string
""" """
sauthor = u''
if not empty(self.author):
sauthor += '%s@' % self.author
if author == None: if author == None:
author = 'Cookboob' sauthor += 'Cookboob'
else:
sauthor += author
header = u'<?xml version="1.0" encoding="UTF-8" ?>\n' header = u'<?xml version="1.0" encoding="UTF-8" ?>\n'
initial_xml = '''\ initial_xml = '''\
<krecipes version='2.0-beta2' lang='fr' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='krecipes.xsd'> <krecipes version='2.0-beta2' lang='fr' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='krecipes.xsd'>
@ -63,7 +71,7 @@ class Recipe(CapBaseObject):
title = ET.SubElement(desc, 'title') title = ET.SubElement(desc, 'title')
title.text = self.title title.text = self.title
authors = ET.SubElement(desc, 'author') authors = ET.SubElement(desc, 'author')
authors.text = author authors.text = sauthor
eyield = ET.SubElement(desc, 'yield') eyield = ET.SubElement(desc, 'yield')
if not empty(self.nb_person): if not empty(self.nb_person):
amount = ET.SubElement(eyield, 'amount') amount = ET.SubElement(eyield, 'amount')