From 6c549ff99329e494bc6aad2109973e7eec6c445e Mon Sep 17 00:00:00 2001 From: zackbcom Date: Tue, 15 Mar 2022 15:44:46 -0500 Subject: [PATCH] Fix TypeError in clean_nutrition function (#1043) * Fix Null error * Better fix * Black fixes * extend-ignore should be used for adding ignore --- .flake8 | 2 +- mealie/services/scraper/cleaner.py | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.flake8 b/.flake8 index b764320ebfd3..13355fe9fb15 100644 --- a/.flake8 +++ b/.flake8 @@ -1,5 +1,5 @@ [flake8] -ignore = [ +extend-ignore = [ E501 # Line Length - See Black Config in pyproject.toml E402 # Import Not at Top of File ] diff --git a/mealie/services/scraper/cleaner.py b/mealie/services/scraper/cleaner.py index 3132d4ed6206..789f25aba95c 100644 --- a/mealie/services/scraper/cleaner.py +++ b/mealie/services/scraper/cleaner.py @@ -93,7 +93,12 @@ def clean_nutrition(nutrition: Optional[dict]) -> dict[str, str]: output_nutrition = {key: val.replace(",", ".") for key, val in output_nutrition.items()} - if "sodiumContent" in nutrition and "m" not in nutrition["sodiumContent"] and "g" in nutrition["sodiumContent"]: + if ( + "sodiumContent" in nutrition + and type(nutrition["sodiumContent"]) == str + and "m" not in nutrition["sodiumContent"] + and "g" in nutrition["sodiumContent"] + ): # Sodium is in grams. Parse its value, multiple by 1k and return to string. try: output_nutrition["sodiumContent"] = str(float(output_nutrition["sodiumContent"]) * 1000)