Skip to content

Commit

Permalink
feat: remove "(s)" from servings and items (#529)
Browse files Browse the repository at this point in the history
adds the "s" if the count isn't one, otherwise adds nothing. the main
change is in recipe_scrapers/_utils.py, the rest of them are just from
the tests.
  • Loading branch information
Jabster28 authored Apr 22, 2022
1 parent 81b1c12 commit 69a112f
Show file tree
Hide file tree
Showing 171 changed files with 177 additions and 175 deletions.
4 changes: 2 additions & 2 deletions recipe_scrapers/_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,12 +108,12 @@ def get_yields(element):
serve_text = serve_text.split(SERVE_REGEX_TO.split(serve_text, 2)[1], 2)[1]

matched = SERVE_REGEX_NUMBER.search(serve_text).groupdict().get("items") or 0
servings = "{} serving(s)".format(matched)
servings = "{} serving{}".format(matched, "" if int(matched) == 1 else "s")

if SERVE_REGEX_ITEMS.search(serve_text) is not None:
# This assumes if object(s), like sandwiches, it is 1 person.
# Issue: "Makes one 9-inch pie, (realsimple-testcase, gives "9 items")
servings = "{} item(s)".format(matched)
servings = "{} item{}".format(matched, "" if int(matched) == 1 else "s")

return servings

Expand Down
4 changes: 3 additions & 1 deletion recipe_scrapers/matprat.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@ def total_time(self):
def yields(self):
recipe_yield = self.soup.find("input", {"id": "portionsInput"})
if recipe_yield:
return str(recipe_yield["value"]) + " serving(s)"
return str(recipe_yield["value"]) + " serving{}".format(
"s" if int(recipe_yield["value"]) > 1 else ""
)
else:
return get_yields(
self.soup.find(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_750g.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def test_title(self):
)

def test_yields(self):
self.assertEqual("6 serving(s)", self.harvester_class.yields())
self.assertEqual("6 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_abril.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def test_total_time(self):
self.assertEqual(30, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("4 serving(s)", self.harvester_class.yields())
self.assertEqual("4 servings", self.harvester_class.yields())

def test_ingredients(self):
self.assertCountEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_acouplecooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def test_total_time(self):
self.assertEqual(8, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("4 serving(s)", self.harvester_class.yields())
self.assertEqual("4 servings", self.harvester_class.yields())

def test_ingredients(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_afghankitchenrecipes.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def test_total_time(self):
self.assertEqual(75, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("4 serving(s)", self.harvester_class.yields())
self.assertEqual("4 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_allrecipes.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def test_total_time(self):
self.assertEqual(40, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("2 serving(s)", self.harvester_class.yields())
self.assertEqual("2 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_alltomat.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def test_total_time(self):
self.assertEqual(20, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("12 serving(s)", self.harvester_class.yields())
self.assertEqual("12 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_amazingribs.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def test_total_time(self):
self.assertEqual(165, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("2 serving(s)", self.harvester_class.yields())
self.assertEqual("2 servings", self.harvester_class.yields())

def test_ingredients(self):
self.assertCountEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_ambitiouskitchen.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ def test_total_time(self):
self.assertEqual(70, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("12 serving(s)", self.harvester_class.yields())
self.assertEqual("12 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_archanaskitchen.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def test_total_time(self):
self.assertEqual(30, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("4 item(s)", self.harvester_class.yields())
self.assertEqual("4 items", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_averiecooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def test_title(self):
)

def test_yields(self):
self.assertEqual("2 serving(s)", self.harvester_class.yields())
self.assertEqual("2 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_bakingmischeif.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def test_total_time(self):
self.assertEqual(190, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("4 serving(s)", self.harvester_class.yields())
self.assertEqual("4 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_bakingsense.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def test_total_time(self):
self.assertEqual(60, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("12 serving(s)", self.harvester_class.yields())
self.assertEqual("12 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_bbc.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ def test_total_time(self):
self.assertEqual(130, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("1 item(s)", self.harvester_class.yields())
self.assertEqual("1 item", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_bbcgoodfood.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def test_total_time(self):
self.assertEqual(50, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("12 item(s)", self.harvester_class.yields())
self.assertEqual("12 items", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_bettycrocker.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def test_total_time(self):
self.assertEqual(290, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("24 serving(s)", self.harvester_class.yields())
self.assertEqual("24 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_bigoven.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def test_total_time(self):
self.assertEqual(720, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("24 serving(s)", self.harvester_class.yields())
self.assertEqual("24 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_blueapron.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def test_title(self):
)

def test_yields(self):
self.assertEqual("2 serving(s)", self.harvester_class.yields())
self.assertEqual("2 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_bodybuilding.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def test_total_time(self):
self.assertEqual(75, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("4 serving(s)", self.harvester_class.yields())
self.assertEqual("4 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_bonappetit.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def test_total_time(self):
self.assertEqual(None, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("4 serving(s)", self.harvester_class.yields())
self.assertEqual("4 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_bowlofdelicious.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def test_title(self):
)

def test_yields(self):
self.assertEqual("2 serving(s)", self.harvester_class.yields())
self.assertEqual("2 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_budgetbytes.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def test_total_time(self):
self.assertEqual(45, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("4 item(s)", self.harvester_class.yields())
self.assertEqual("4 items", self.harvester_class.yields())

def test_ingredients(self):
self.assertCountEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_castironketo.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def test_title(self):
)

def test_yields(self):
self.assertEqual("6 serving(s)", self.harvester_class.yields())
self.assertEqual("6 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_cdkitchen.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def test_total_time(self):
self.assertEqual(45, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("4 serving(s)", self.harvester_class.yields())
self.assertEqual("4 servings", self.harvester_class.yields())

def test_ingredients(self):
self.assertCountEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_chefkoch.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def test_title(self):
self.assertEqual(self.harvester_class.title(), "Hackbraten supersaftig")

def test_yields(self):
self.assertEqual("4 serving(s)", self.harvester_class.yields())
self.assertEqual("4 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_closetcooking.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def test_total_time(self):
self.assertEqual(20, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("5 serving(s)", self.harvester_class.yields())
self.assertEqual("5 servings", self.harvester_class.yields())

def test_ingredients(self):
self.assertCountEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_cookieandkate.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def test_total_time(self):
self.assertEqual(40, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("8 serving(s)", self.harvester_class.yields())
self.assertEqual("8 servings", self.harvester_class.yields())

def test_ingredients(self):
self.assertCountEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_cookingcircle.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def test_total_time(self):
self.assertEqual(30, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("6 serving(s)", self.harvester_class.yields())
self.assertEqual("6 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_cookinglight.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ def test_total_time(self):
self.assertEqual(10, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("1 serving(s)", self.harvester_class.yields())
self.assertEqual("1 serving", self.harvester_class.yields())

def test_ingredients(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_cookpad.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ def test_title(self):
self.assertEqual(self.harvester_class.title(), "30分で簡単本格バターチキンカレー")

def test_yields(self):
self.assertEqual("4 serving(s)", self.harvester_class.yields())
self.assertEqual("4 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_copykat.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def test_total_time(self):
self.assertEqual(40, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("10 serving(s)", self.harvester_class.yields())
self.assertEqual("10 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_countryliving.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def test_total_time(self):
self.assertEqual(70, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("4 serving(s)", self.harvester_class.yields())
self.assertEqual("4 servings", self.harvester_class.yields())

def test_ingredients(self):
self.assertCountEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_cucchiaio.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def test_total_time(self):
self.assertEqual(60, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("4 item(s)", self.harvester_class.yields())
self.assertEqual("4 items", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_cuisineaz.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def test_title(self):
self.assertEqual(self.harvester_class.title(), "Filet de saumon au four")

def test_yields(self):
self.assertEqual("4 serving(s)", self.harvester_class.yields())
self.assertEqual("4 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
2 changes: 1 addition & 1 deletion tests/test_cybercook.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def test_total_time(self):
self.assertEqual(30, self.harvester_class.total_time())

def test_yields(self):
self.assertEqual("4 serving(s)", self.harvester_class.yields())
self.assertEqual("4 servings", self.harvester_class.yields())

def test_image(self):
self.assertEqual(
Expand Down
Loading

0 comments on commit 69a112f

Please sign in to comment.