diff --git a/AGENTS.md b/CLAUDE.md similarity index 100% rename from AGENTS.md rename to CLAUDE.md diff --git a/agenda/types.py b/agenda/types.py index d1ecdda..94830fd 100644 --- a/agenda/types.py +++ b/agenda/types.py @@ -202,18 +202,13 @@ class Trip: """Countries flags for trip.""" return "".join(c.flag for c in self.countries) - def total_distance(self) -> float: - """Total distance for trip. - - Sums distances for travel items where a distance value is present. - Ignores legs with missing or falsy distances rather than returning None. - """ - total = 0.0 - for t in self.travel: - distance = t.get("distance") - if distance: - total += distance - return total + def total_distance(self) -> float | None: + """Total distance for trip.""" + return ( + sum(t["distance"] for t in self.travel) + if all(t.get("distance") for t in self.travel) + else None + ) def total_co2_kg(self) -> float | None: """Total CO₂ for trip."""