Source code for pyowm.alertapi30.alert

from pyowm.utils import timeformatutils, stringutils


[docs]class AlertChannel: """ Base class representing a channel through which one can acknowledge that a weather alert has been issued. Examples: OWM API polling, push notifications, email notifications, etc. This feature is yet to be implemented by the OWM API. :param name: name of the channel :type name: str :returns: an *AlertChannel* instance """ def __init__(self, name): self.name = name
[docs]class Alert: """ Represents the situation happening when any of the conditions bound to a `Trigger` is met. Whenever this happens, an `Alert` object is created (or updated) and is bound to its parent `Trigger`. The trigger can then be polled to check what alerts have been fired on it. :param id: unique alert identifier :type name: str :param trigger_id: link back to parent `Trigger` :type trigger_id: str :param met_conditions: list of dict, each one referring to a `Condition` obj bound to the parent `Trigger` and reporting the actual measured values that made this `Alert` fire :type met_conditions: list of dict :param coordinates: dict representing the geocoordinates where the `Condition` triggering the `Alert` was met :type coordinates: dict :param last_update: epoch of the last time when this `Alert` has been fired :type last_update: int """ def __init__(self, id, trigger_id, met_conditions, coordinates, last_update=None): assert id is not None assert isinstance(id, str), "Value must be a string" self.id = id assert trigger_id is not None assert isinstance(trigger_id, str), "Value must be a string" self.trigger_id = trigger_id assert met_conditions is not None assert isinstance(met_conditions, list) self.met_conditions = met_conditions assert coordinates is not None assert isinstance(coordinates, dict) self.coordinates = coordinates if last_update is not None: assert isinstance(last_update, int) self.last_update = last_update def __repr__(self): return "<%s.%s - id=%s, trigger id=%s, last update=%s>" % ( __name__, self.__class__.__name__, self.id, self.trigger_id, timeformatutils.to_ISO8601(self.last_update))