Source code for pyowm.weatherapi25.weathercoderegistry

"""
Module containing weather code lookup and resolution classes
"""

[docs]class WeatherCodeRegistry(object): """ A registry class for looking up weather statuses from weather codes. :param code_ranges_dict: a dict containing the mapping between weather statuses (eg: "sun","clouds",etc) and weather code ranges :type code_ranges_dict: dict :returns: a *WeatherCodeRegistry* instance """ def __init__(self, code_ranges_dict): self._code_ranges_dict = code_ranges_dict
[docs] def status_for(self, code): """ Returns the weather status related to the specified weather status code, if any is stored, ``None`` otherwise. :param code: the weather status code whose status is to be looked up :type code: int :returns: the weather status str or ``None`` if the code is not mapped """ is_in = lambda start, end, n: True if start <= n <= end else False for status in self._code_ranges_dict: for _range in self._code_ranges_dict[status]: if is_in(_range['start'],_range['end'],code): return status return None
def __repr__(self): return "<%s.%s>" % (__name__, self.__class__.__name__)