X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=cached%2Fweather_data.py;h=91d665dbfd2e068ac2a10fc1ff867d552db3e71b;hb=36be25ae450f455cc6c798df44e5af038f068c41;hp=87c3260c0a5b90078f567f3a94bfcac8f03d5ea5;hpb=1e858172519e9339e4720b8bf9b39b6d9801e305;p=python_utils.git diff --git a/cached/weather_data.py b/cached/weather_data.py index 87c3260..91d665d 100644 --- a/cached/weather_data.py +++ b/cached/weather_data.py @@ -3,7 +3,11 @@ # © Copyright 2021-2022, Scott Gasch -"""How's the weather?""" +"""A cache of weather data for Bellevue, WA. +:class:`CachedWeatherData` class that derives from :class:`Persistent` +so that, on creation, the decorator transparently pulls in data from +disk, if possible, to avoid a network request. +""" import datetime import json @@ -47,13 +51,26 @@ cfg.add_argument( @dataclass class WeatherData: - date: datetime.date # The date - high: float # The predicted high in F - low: float # The predicted low in F - precipitation_inches: float # Number of inches of precipitation / day - conditions: List[str] # Conditions per ~3h window - most_common_condition: str # The most common condition - icon: str # An icon to represent it + date: datetime.date + """The date of the forecast""" + + high: float + """The predicted high temperature in F""" + + low: float + """The predicted low temperature in F""" + + precipitation_inches: float + """Number of inches of precipitation / day""" + + conditions: List[str] + """Conditions per ~3h window""" + + most_common_condition: str + """The most common condition of the day""" + + icon: str + """An icon representing the most common condition of the day""" @persistent.persistent_autoloaded_singleton() # type: ignore