"""Contains various object definitions needed by the weather utility."""
weather_copyright = """\
-# Copyright (c) 2006-2023 Jeremy Stanley <fungi@yuggoth.org>. Permission to
+# Copyright (c) 2006-2024 Jeremy Stanley <fungi@yuggoth.org>. Permission to
# use, copy, modify, and distribute this software is granted under terms
# provided in the LICENSE file distributed with this software.
#"""
muted = True
lines = alert.split("\n")
import time
- valid_time = time.strftime("%Y%m%d%H%M")
+ # TODO: make this offset configurable
+ # TODO: adjust offset relative to the difference between the user's
+ # local time and the zone's local time (will need to extend
+ # the schema in the zones file to store each tz
+ offset = 86400 # one day
+
+ # report alerts and forecasts that expired less than offset ago;
+ # this is a cheap hack since expiration times seem to be relative
+ # to the zone's local timezone, and converting from the user's
+ # would get complicated, but also there can sometimes be a lag
+ # between expiration and the next update
+ valid_time = time.strftime(
+ "%Y%m%d%H%M", time.localtime(time.time() - offset))
output = []
for line in lines:
if line.startswith("Expires:") \
if pyversion("3"):
stations.read_string(
gzip.open(datafile).read().decode("utf-8") )
- else: stations.readfp( gzip.open(datafile) )
+ else: stations.read_file( gzip.open(datafile) )
else:
if pyversion("3"):
stations.read(datafile, encoding="utf-8")
import gzip
if pyversion("3"):
zones.read_string( gzip.open(datafile).read().decode("utf-8") )
- else: zones.readfp( gzip.open(datafile) )
+ else: zones.read_file( gzip.open(datafile) )
else:
if pyversion("3"):
zones.read(datafile, encoding="utf-8")
if pyversion("3"):
airports.read_string(
gzip.open(datafile).read().decode("utf-8") )
- else: airports.readfp( gzip.open(datafile) )
+ else: airports.read_file( gzip.open(datafile) )
else:
if pyversion("3"):
airports.read(datafile, encoding="utf-8")
if pyversion("3"):
zctas.read_string(
gzip.open(datafile).read().decode("utf-8") )
- else: zctas.readfp( gzip.open(datafile) )
+ else: zctas.read_file( gzip.open(datafile) )
else:
if pyversion("3"):
zctas.read(datafile, encoding="utf-8")
if pyversion("3"):
places.read_string(
gzip.open(datafile).read().decode("utf-8") )
- else: places.readfp( gzip.open(datafile) )
+ else: places.read_file( gzip.open(datafile) )
else:
if pyversion("3"):
places.read(datafile, encoding="utf-8")
removed = 0
changed = 0
overrides = configparser.ConfigParser()
- overrides.readfp( codecs.open(overrides_fn, "r", "utf8") )
+ overrides.read_file( codecs.open(overrides_fn, "r", "utf8") )
overrideslog = []
for section in overrides.sections():
addopt = 0