diff --git a/searx/weather.py b/searx/weather.py index af47a8844..5627cd0db 100644 --- a/searx/weather.py +++ b/searx/weather.py @@ -511,14 +511,15 @@ class Compass(msgspec.Struct): return self.val raise ValueError(f"unknown unit: {unit}") - def point(self, azimuth: float | int) -> CompassPoint: + @classmethod + def point(cls, azimuth: float | int) -> CompassPoint: """Returns the compass point to an azimuth value.""" - azimuth = azimuth % self.TURN + azimuth = azimuth % cls.TURN # The angle sector of a compass point starts 1/2 sector range before # and after compass point (example: "N" goes from -11.25° to +11.25°) - azimuth = azimuth - self.RANGE / 2 - idx = int(azimuth // self.RANGE) - return self.POINTS[idx] + azimuth = azimuth - cls.RANGE / 2 + idx = int(azimuth // cls.RANGE) + return cls.POINTS[idx] def l10n( self,