Skip to content

Commit

Permalink
Ingredient grouping support for sallysblog (#1375)
Browse files Browse the repository at this point in the history
  • Loading branch information
jknndy authored Nov 13, 2024
1 parent c903072 commit af736a9
Show file tree
Hide file tree
Showing 5 changed files with 98 additions and 0 deletions.
14 changes: 14 additions & 0 deletions recipe_scrapers/sallysblog.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from ._abstract import AbstractScraper
from ._grouping_utils import IngredientGroup, group_ingredients


class SallysBlog(AbstractScraper):
Expand Down Expand Up @@ -41,3 +42,16 @@ def ingredients(self):

def author(self):
return "Sally's Blog"

def ingredient_groups(self):
groups = group_ingredients(
self.ingredients(),
self.soup,
".shop-studio-recipes-recipe-detail-tabs-description-ingredients__content__ingredient-list__title",
".shop-studio-recipes-recipe-detail-tabs-description-ingredients__content__ingredient-list__ingredient",
)

if len(groups) > 1:
return groups
else:
return [IngredientGroup(ingredients=self.ingredients(), purpose=None)]
49 changes: 49 additions & 0 deletions tests/test_data/sallys-blog.de/sallysblog_1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"author": "Sally's Blog",
"canonical_url": "sallys-blog.de",
"site_name": "Sallys Blog",
"host": "sallys-blog.de",
"language": "de-DE",
"title": "Pink Popcorn",
"ingredients": [
"20 g Sonnenblumenöl",
"50 g Popcornmais",
"30 g Wasser",
"3 EL Zucker",
"0.5 TL Vanilleextrakt ",
"0.25 TL Lebensmittelfarbpaste (pink)",
"20 g Sonnenblumenöl",
"50 g Popcornmais",
"30 g Wasser",
"3 EL Zucker",
"0.5 TL Vanilleextrakt ",
"0.25 TL Lebensmittelfarbpaste (pink)"
],
"instructions_list": [
"Popcorn",
"Gib das Öl in einen großen Topf und erwärme es bei mittelhoher Hitze. Pass auf, dass es nicht zu heiß wird und verbrennt.",
"Füge die Maiskörner hinzu und verschließe den Topf sofort mit dem Deckel. Schwenke den Topf vorsichtig hin und her, damit sich die Maiskörner mit dem Öl verbinden. Schüttle den Topf immer mal wieder vorsichtig und pass auf, dass das Popcorn nicht verbrennt.",
"Schalte nach etwa 1-2 Minuten die Herdplatte aus und lass den Mais zu Ende poppen. Öffne den Deckel erst, wenn das Popcorn fertig ist.",
"Pink Popcorn",
"Verrühre das Wasser mit dem Zucker, Vanilleextrakt und der Lebensmittelfarbpaste in einem Topf und lasse die Mischung aufkochen. Koche den Sirup so lange, bis sich keine Bläschen mehr bilden und der Zucker karamellisiert.",
"Gib das Popcorn zum Karamell und schwenke es darin, bis alles ummantelt ist, achte darauf, dich nicht zu verbrennen. Fülle es zum Servieren nach Belieben in kleine Tüten oder eine große Schüssel."
],
"category": "Vorspeisen & Snacks",
"yields": "2 servings",
"description": "Popcorn schmeckt nicht nur lecker, sondern kann auch noch richtig hübsch aussehen und zur Party oder zum Motto passend eingefärbt werden. Dafür einfach den Zucker bzw. den Sirup mit Lebensmittelfarbe einfärben und dann das Popcorn darin wälzen. Ich habe mich für die Farbe Pink entschieden, ihr könnt es aber auch in jeder anderen Farbe oder als Regenbogen einfärben.",
"total_time": 20,
"prep_time": 20,
"image": "https://sallyshop.b-cdn.net/media/a2/74/90/1728493204/sally-pink-popcorn-rezept.jpg?width=3000",
"keywords": [
"Pink Popcorn Rezept",
"buntes Popcorn",
"Party Popcorn selber machen",
"Popcorn einfärben",
"süßes Popcorn Rezept",
"Popcorn mit Zuckersirup",
"farbiges Popcorn",
"Sallys Welt Popcorn",
"Kindergeburtstag Popcorn",
"Popcorn in Pink"
]
}
9 changes: 9 additions & 0 deletions tests/test_data/sallys-blog.de/sallysblog_1.testhtml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,32 @@
"150 g Erbse / Erbsen (TK)",
"500 g Nudel / Nudeln (z. B. Orechiette)"
],
"ingredient_groups": [
{
"ingredients": [
"1 Zwiebel / Zwiebeln",
"1 Knoblauchzehe / Knoblauchzehen",
"20 g Butter",
"20 g Mehl",
"300 g Gemüsebrühe",
"200 g Milch",
"500 g Brokkoli",
"200 g Gorgonzola",
"50 g Parmesan",
"0.25 TL Salz",
"0.25 TL Pfeffer",
"100 g Schinken (z. B. Pute)",
"150 g Erbse / Erbsen (TK)"
],
"purpose": "Käsesahnesoße"
},
{
"ingredients": [
"500 g Nudel / Nudeln (z. B. Orechiette)"
],
"purpose": "Pasta"
}
],
"instructions_list": [
"Käsesahnesoße",
"Schäle die Zwiebel und Knoblauchzehe und schneide sie fein.",
Expand Down

0 comments on commit af736a9

Please sign in to comment.