jackmedda
Add real data
fc91734
import json
import os
RESOURCE_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "resources")
with open(os.path.join(RESOURCE_DIR, "_defaults.json"), "r") as f:
_defaults = json.load(f)
def get_qualitative_aversion(level: float, aversion_type: str) -> str:
if aversion_type == "HIGH":
if level <= 2:
return "GOOD"
elif level <= 3:
return "ACCEPTABLE"
else:
return "BAD"
elif aversion_type == "LOW-HIGH":
if level <= 1 or level >= 5:
return "BAD"
elif level <= 2 or level >= 4:
return "ACCEPTABLE"
else:
return "GOOD"
else:
raise ValueError(f"Unknown aversion type: {aversion_type}")
def get_aversion_color(value: float, aversion_type: str) -> str:
return _defaults["aversion_levels_colors"][
get_qualitative_aversion(value, aversion_type)
]
def get_aversion_feedback(value: float, aversion_type: str) -> str:
aversion_quality = _defaults["aversion_levels_colors"][
get_qualitative_aversion(value, aversion_type)
]
if aversion_quality == "GOOD":
return "✓ Livello di avversione basso - Buono"
elif aversion_quality == "ACCEPTABLE":
return "⚠ Livello di avversione moderato - Attenzione"
elif aversion_quality == "BAD":
return "✗ Livello di avversione alto - Evitare"
else:
return "Livello di avversione registrato"
def get_qualitative_compatibility(level: float) -> str:
if level >= 85:
return "GOOD"
elif level >= 70:
return "ACCEPTABLE"
else:
return "BAD"
def get_compatibility_color(level: float) -> str:
return _defaults["aversion_levels_colors"][get_qualitative_compatibility(level)]
def check_image_url(pois: list[dict]) -> None:
"""Check if image URLs are valid, if not, set a default placeholder."""
for p in pois:
if p.get("image_url:token_seq") is None:
p["image_url:token_seq"] = (
"https://developers.elementor.com/docs/assets/img/elementor-placeholder-image.png" # Default placeholder
)