X-Git-Url: https://www.yuggoth.org/gitweb?p=weather.git;a=blobdiff_plain;f=weather;h=dc0601c5f549a81f432ed4a628b1d19dba8e2e31;hp=5e620b8c39b70e6e110802e2bccd399bd4e6b291;hb=4d25a49d5a5ec5415f8e83ba26fea5adf4e5512a;hpb=8349654b7c627448b1e56c2943234895724d7857 diff --git a/weather b/weather index 5e620b8..dc0601c 100755 --- a/weather +++ b/weather @@ -1,10 +1,10 @@ #!/usr/bin/env python +# distributions may wish to edit the above to refer to a specific interpreter +# path, such as #!/usr/bin/python -# weather version 1.4, http://fungi.yuggoth.org/weather/ -# Copyright (c) 2006-2008 Jeremy Stanley . -# Permission to use, copy, modify, and distribute this software is -# granted under terms provided in the LICENSE file distributed with -# this software. +# Copyright (c) 2006-2010 Jeremy Stanley . Permission to +# use, copy, modify, and distribute this software is granted under terms +# provided in the LICENSE file distributed with this software. """Wrapper utility using the weather.py module.""" @@ -26,22 +26,52 @@ if get_bool("list"): print weather.list_aliases(selections.config) # normal operation else: + output = "" for argument in selections.arguments: - if get_bool("conditions", argument): - print weather.get_metar( + if get_bool("conditions", argument) or not ( + get_bool("alert", argument) or get_bool("forecast", argument) + ): + partial = weather.get_metar( id=get("id", argument), verbose=get_bool("verbose", argument), quiet=get_bool("quiet", argument), headers=get("headers", argument), - murl=get("murl", argument) - ) - if not get_bool("conditions", argument) \ - or get_bool("forecast", argument): - print weather.get_forecast( + murl=get("murl", argument), + imperial=get_bool("imperial", argument), + metric=get_bool("metric", argument) + ) + if partial: output += partial + "\n" + if get_bool("forecast", argument) or not ( + get_bool("alert", argument) or get_bool("conditions", argument) + ): + partial = weather.get_forecast( city=get("city", argument), st=get("st", argument), verbose=get_bool("verbose", argument), quiet=get_bool("quiet", argument), flines=get("flines", argument), - furl=get("furl", argument) - ) + furl=get("furl", argument), + imperial=get_bool("imperial", argument), + metric=get_bool("metric", argument) + ) + if partial: output += partial + "\n" + if get_bool("alert", argument) or not ( + get_bool("conditions", argument) or get_bool("forecast", argument) + ): + alert_text = "" + for atype in get("atypes", argument).split(","): + for zone in get("zones", argument).split(","): + partial = weather.get_alert( + zone=zone, + verbose=get_bool("verbose", argument), + quiet=get_bool("quiet", argument), + atype=atype, + aurl=get("aurl", argument), + imperial=get_bool("imperial", argument), + metric=get_bool("metric", argument) + ) + if partial: alert_text += partial + "\n" + if not alert_text: alert_text = "(no current alerts for your zones)\n" + output += alert_text + output = output.strip() + if output: print( output )