From 8e50260ce48815dea31578888159c583cf7c4cf4 Mon Sep 17 00:00:00 2001 From: Kjell Pettersson Date: Tue, 9 Aug 2022 09:19:17 +0200 Subject: [PATCH] Add support for ica.se --- README.rst | 1 + recipe_scrapers/__init__.py | 2 + recipe_scrapers/ica.py | 43 ++++ tests/test_data/ica.testhtml | 367 +++++++++++++++++++++++++++++++++++ tests/test_ica.py | 75 +++++++ 5 files changed, 488 insertions(+) create mode 100644 recipe_scrapers/ica.py create mode 100644 tests/test_data/ica.testhtml create mode 100644 tests/test_ica.py diff --git a/README.rst b/README.rst index d4e3e4b1b..f4dc2d7cd 100644 --- a/README.rst +++ b/README.rst @@ -167,6 +167,7 @@ Scrapers available for: - `https://www.hellofresh.nl/ `_ - `https://www.homechef.com/ `_ - `https://hostthetoast.com/ `_ +- `https://www.ica.se/ `_ - `https://receitas.ig.com.br/ `_ - `https://www.im-worthy.com/ `_ - `https://indianhealthyrecipes.com `_ diff --git a/recipe_scrapers/__init__.py b/recipe_scrapers/__init__.py index f4976dc0f..cfcab2139 100644 --- a/recipe_scrapers/__init__.py +++ b/recipe_scrapers/__init__.py @@ -87,6 +87,7 @@ from .homechef import HomeChef from .hostthetoast import Hostthetoast from .hundredandonecookbooks import HundredAndOneCookbooks +from .ica import Ica from .ig import IG from .imworthy import ImWorthy from .indianhealthyrecipes import IndianHealthyRecipes @@ -297,6 +298,7 @@ HomeChef.host(): HomeChef, Hostthetoast.host(): Hostthetoast, HundredAndOneCookbooks.host(): HundredAndOneCookbooks, + Ica.host(): Ica, ImWorthy.host(): ImWorthy, IG.host(): IG, IndianHealthyRecipes.host(): IndianHealthyRecipes, diff --git a/recipe_scrapers/ica.py b/recipe_scrapers/ica.py new file mode 100644 index 000000000..651a7edba --- /dev/null +++ b/recipe_scrapers/ica.py @@ -0,0 +1,43 @@ +from ._abstract import AbstractScraper + + +class Ica(AbstractScraper): + @classmethod + def host(cls): + return "ica.se" + + def author(self): + return self.schema.author() + + def title(self): + return self.schema.title() + + def category(self): + return self.schema.category() + + def total_time(self): + return self.schema.total_time() + + def yields(self): + return self.schema.yields() + + def image(self): + return self.schema.image() + + def ingredients(self): + return self.schema.ingredients() + + def instructions(self): + return self.schema.instructions() + + def ratings(self): + return self.schema.ratings() + + def cuisine(self): + return self.schema.cuisine() + + def description(self): + return self.schema.description() + + def nutrients(self): + return self.schema.nutrients() diff --git a/tests/test_data/ica.testhtml b/tests/test_data/ica.testhtml new file mode 100644 index 000000000..7368b20e9 --- /dev/null +++ b/tests/test_data/ica.testhtml @@ -0,0 +1,367 @@ + + + + Lysande gul fiskgryta | Recept ICA.se + + +

Lysande gul fiskgryta

1049
169
Lysande gul fiskgryta

Denna fiskgryta får sin lysande solgula färg och ljuvliga smak av saffran, vitlök och tomatpuré. Grytan blir matig och mättande med lax, torsk, räkor och musslor och passar perfekt att bjuda på till en lite festligare middag med eller utan gäster.

+ Ett recept från: +
Buffé + nr 10, + 1996 +

Lysande gul fiskgryta

+ Ingredienser +

+ 4 portioner +
+ 400 + g + + torskfilé, sej eller hoki +
+ 300 + g + + laxfilé +
+ 1/2 + + + purjolök +
+ 1/2 + + + gul lök +
+ 1 + msk + + smör +
+ 1 + + + vitlöksklyfta +
+ 1 1/2 + tsk + + tomatpuré +
+ 1 + tsk + + timjan +
+ 1 + tsk + + basilika +
+ 2 1/2 + dl + + torrt vitt vin +
+ 1 1/2 + + + fiskbuljongtärning +
+ 2 + dl + + vispgrädde +
+ 1 + dl + + crème fraiche +
+ 2 + dl + + vatten +
+ 1 + + + pkt saffran (à 0,5 g) +
+ 1 1/2 + tsk + + salt +
+ 300 + g + + räkor med skal +
+ 1 + + + burk musslor (à 150 g) +

Serveringsförslag

+ ev. bröd och vitlöksmajonnäs +

För alla

Kontrollera ingrediensförteckningen på buljongen. Fri från ägg.
Gör glutenfri: servera glutenfritt bröd till.
Gör laktosfri: välj laktosfritt smör, laktosfri grädde och laktosfri crème fraiche.
Gör mjölkproteinfri: välj mjölkproteinfritt matfett. Byt ut grädde och crème fraiche mot mjölkproteinfria ersättningsprodukter.

Klimatanpassa

Gör mer klimaträtt: välj margain och byt ut grädde och crème fraiche mot mjölkproteinfria ersättningsprodukter. Välj gärna mervärdesmärkt fisk och skaldjur samt minska på mängden. Detta leder till en fjärdedels minskning av klimatpåverkan från maträtten.

Gör så här

Tips

Vitlöksmajonnäs kan du göra lätt genom att smaksätta 2 dl vanlig majonnäs med 3-4 pressade vitlöksklyftor, 1 tsk tomatpuré 1 tsk vitvinsvinäger, 1 krm salt och lite kajennpeppar (för 4 port).

Vad tyckte du om receptet?

1049

+ Kommentarer +

Eva-marie

2022-08-01

Enkel och god fiskgryta!

Sven

2022-05-14

En klar favorit!

Carina

2022-03-24

Går fiskgrytan att frysa?

Näringsvärde per portion

Energi 2770 KJ / 662 kCal
Fett 43 g
Salt 3.89 g
Kolhydrater 20 g
Protein 47 g
+ Läs mer om näringsvärden +

Klimatguide

1,40 - 2,40 kg CO2e/portion

+ Vad du äter kan göra stor skillnad, inte bara för dig själv, utan även för miljön och + klimatet. Inspireras av våra klimatguidade recept som hjälper dig att minska + klimatpåverkan – utan att för den skull minska på matglädjen. +

+ Läs mer om klimatguiden +
+ + diff --git a/tests/test_ica.py b/tests/test_ica.py new file mode 100644 index 000000000..0dbeffda2 --- /dev/null +++ b/tests/test_ica.py @@ -0,0 +1,75 @@ +from recipe_scrapers.ica import Ica +from tests import ScraperTest + + +class TestIcaScraper(ScraperTest): + + scraper_class = Ica + + def test_host(self): + self.assertEqual("ica.se", self.harvester_class.host()) + + def test_author(self): + self.assertEqual("ICA Köket", self.harvester_class.author()) + + def test_title(self): + self.assertEqual("Lysande gul fiskgryta", self.harvester_class.title()) + + def test_category(self): + self.assertEqual("Huvudrätt,Middag", self.harvester_class.category()) + + def test_total_time(self): + self.assertEqual(45, self.harvester_class.total_time()) + + def test_yields(self): + self.assertEqual("4 servings", self.harvester_class.yields()) + + def test_image(self): + self.assertEqual("https://assets.icanet.se/t_ICAseAbsoluteUrl/imagevaultfiles/id_63144/cf_259/lysande_gul_fiskgryta.jpg", self.harvester_class.image()) + + def test_ingredients(self): + self.assertEqual( + ['400 g torskfilé, sej eller hoki', + '300 g laxfilé', + '1/2 purjolök', + '1/2 gul lök', + '1 msk smör', + '1 vitlöksklyfta', + '1 1/2 tsk tomatpuré', + '1 tsk timjan', + '1 tsk basilika', + '2 1/2 dl torrt vitt vin', + '1 1/2 fiskbuljongtärning', + '2 dl vispgrädde', + '1 dl crème fraiche', + '2 dl vatten', + '1 pkt saffran (à 0,5 g)', + '1 1/2 tsk salt', + '300 g räkor med skal', + '1 burk musslor (à 150 g)', + 'ev. bröd och vitlöksmajonnäs'], + self.harvester_class.ingredients() + ) + + def test_instructions(self): + self.assertEqual("Tina fisken om den är fryst. Skölj och strimla purjon. Skala och hacka löken.\n" + "Smält smöret i en stor gryta eller tjockbottnad kastrull. Fräs löken och purjol" + "öken ett par minuter tills de blivit glansiga och genomskinliga. Pressa i vitlö" + "k. Rör ner tomatpuré, timjan och basilika. Låt detta fräsa med en kort stund.\n" + "Tillsätt vin och buljongtärning. Koka ett par minuter. Rör ner grädde, crème fr" + "aiche, vatten och saffran. Sjud i 15 minuter. Smaka av med salt.\nSkär fisken i" + " munsbitar, lägg i grytan och sjud i ytterligare 7 minuter.\nSkala räkorna. Til" + "lsätt dem och de avrunna musslorna.\xa0\nServeringsförslag:\xa0Hetta upp och se" + "rvera genast, gärna med bröd och vitlöksmajonnäs.", self.harvester_class.instructions()) + + def test_ratings(self): + self.assertEqual(4.5, self.harvester_class.ratings()) + + def test_cuisine(self): + self.assertEqual('', self.harvester_class.cuisine()) + + def test_description(self): + self.assertEqual("Denna fiskgryta får sin lysande solgula färg och ljuvliga smak av saffran, vitl" + "ök och tomatpuré. Grytan blir matig och mättande med lax, torsk, räkor och muss" + "lor och passar perfekt att bjuda på till en lite festligare middag med eller ut" + "an gäster.", self.harvester_class.description())