diff --git a/modules/meteofrance/module.py b/modules/meteofrance/module.py index ad847dce..f6d36e69 100644 --- a/modules/meteofrance/module.py +++ b/modules/meteofrance/module.py @@ -46,4 +46,12 @@ class MeteofranceModule(Module, CapWeather): return self.browser.iter_city_search(pattern) def get_city(self, _id): - return find_object(self.iter_city_search(_id), id=_id, error=CityNotFound) + cities = list(self.iter_city_search(_id)) + + if len(cities) == 0: + raise CityNotFound() + + try: + return find_object(cities, id=_id, error=CityNotFound) + except CityNotFound: + return cities[0] diff --git a/modules/meteofrance/test.py b/modules/meteofrance/test.py index 9a9150a8..69607966 100644 --- a/modules/meteofrance/test.py +++ b/modules/meteofrance/test.py @@ -34,3 +34,6 @@ class MeteoFranceTest(BackendTest): forecasts = list(self.backend.iter_forecast(city.id)) self.assertTrue(len(forecasts) > 0) + + forecast2 = list(self.backend.iter_forecast('blagnac')) + self.assertTrue(len(forecast2) > 0)