X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=cached%2Fweather_data.py;h=45b6e6efc5d9d3c4cbd07f0996633d835aa4a98a;hb=865825894beeedd47d26dd092d40bfee582f5475;hp=89c330aba5e17f20fd537f1d60b490bfa43e25c2;hpb=d08bad64a6884f25d28a2c38c6cd1c87b4335188;p=python_utils.git diff --git a/cached/weather_data.py b/cached/weather_data.py index 89c330a..45b6e6e 100644 --- a/cached/weather_data.py +++ b/cached/weather_data.py @@ -5,9 +5,11 @@ import datetime import json import logging import os -from typing import List +from typing import Any, List import urllib.request +from overrides import overrides + import argparse_utils import config import datetime_utils @@ -23,7 +25,7 @@ cfg = config.add_commandline_args( cfg.add_argument( '--weather_data_cachefile', type=str, - default=f'{os.environ["HOME"]}/.weather_summary_cache', + default=f'{os.environ["HOME"]}/cache/.weather_summary_cache', metavar='FILENAME', help='File in which to cache weather data' ) @@ -179,7 +181,8 @@ class CachedWeatherData(persistent.Persistent): ) @classmethod - def load(cls): + @overrides + def load(cls) -> Any: if persistent.was_file_written_within_n_seconds( config.config['weather_data_cachefile'], config.config['weather_data_stalest_acceptable'].total_seconds(), @@ -190,7 +193,8 @@ class CachedWeatherData(persistent.Persistent): return cls(weather_data) return None - def save(self): + @overrides + def save(self) -> bool: import pickle with open(config.config['weather_data_cachefile'], 'wb') as wf: pickle.dump( @@ -198,3 +202,4 @@ class CachedWeatherData(persistent.Persistent): wf, pickle.HIGHEST_PROTOCOL, ) + return True