diff --git a/forecastio/models.py b/forecastio/models.py index ff89d4d..e64d0f2 100644 --- a/forecastio/models.py +++ b/forecastio/models.py @@ -18,6 +18,10 @@ def update(self): r = requests.get(self.response.url) self.json = r.json() self.response = r + + self._alerts = [] + for alertJSON in self.json.get('alerts', []): + self._alerts.append(Alert(alertJSON)) def currently(self): return self._forcastio_data('currently') @@ -98,7 +102,10 @@ def __init__(self, d={}): except: self.sunsetTime = None + def __getattr__(self, name): + if 'd' not in vars(self): + raise AttributeError try: return self.d[name] except KeyError: @@ -106,7 +113,7 @@ def __getattr__(self, name): "Property '{}' is not valid" " or is not available for this forecast".format(name) ) - + def __unicode__(self): return '' % (self.summary, self.time,) @@ -117,6 +124,8 @@ def __init__(self, json): self.json = json def __getattr__(self, name): + if 'json' not in vars(self): + raise AttributeError try: return self.json[name] except KeyError: