WeatherLog 4.5

The biggest change this release was a switch from using Yahoo! Weather to OpenWeatherMap to get the weather data for automatic entering of data, current weather, and forecasts. This was due mostly to Yahoo! Weather changing their API somewhat and completely breaking pywapi, the previous library I had used. As a replacement I wrote a simple OpenWeatherMap library, creatively called weatherlog-openweathermap.

Overall, this switch brought quite a few extra benefits for users with it:

  • Data is no longer limited to the US, and now also includes most of the world. This is something that could technically have happened with the Yahoo! Weather API, but it would have required making significant changes to pywapi.
  • Location no longer needs to be specified as a zip code, but can now be entered as a city, town, state, or other district type. For example, these are all valid locations: “60601”, “Chicago”, “Cook County”, “Illinois”. Of course, zip code or city name will give the most accurate and specific results.
  • Country can be specified, in case a location name is used by multiple countries.
  • Weather conditions are no longer limited to just one and can be more in-depth. For example, while previously the current weather may be specified as simply “rainy”, it may now say “rainy, overcast, cold”. This is highly dependent on what the API returns, however, and it doesn’t seem to use this format for all locations. For those that it does not the condition will display similarly to the old one.
  • Forecasts now give much more detail. High, low, morning, evening, and night temperatures are now given, in addition to rain or snow amounts. However, the new API does not specify a wind chill, so that was removed.

Changes (Features)

  • “Clear”/”Remove” changes:
    • Removed “Clear”.
    • Added “Remove All” button to “Remove” dialog.
    • These changes were to improve clarity and remove redundant features. As there was already a “Remove” feature, a specific “Clear” menu item did not seem necessary. It could also lead to confusion between “Clear” and “Clear All”.
  • Added “Quick Search” feature. This is similar to “Data Subsets”, but is much simpler as it only allows the input of one search term. Each row of data is then checked to see if it contains this term.
  • Added “Search” options tab and an option for if case insensitivity should be used in searches by default.
  • Improved “Data Subsets” dialog titles, to make it more clear when working with the results of a filter.
  • Switched from Yahoo! Weather to OpenWeatherMap.
    • Added “Data” options tab with the following options:
      • City
      • Zip code
      • Country
      • Location type to use
      • API key
    • Added additional data to “Get Weather” forecasts.
    • Removed some automatically filled terms (notably wind chill).

Changes (Code)

  • launch.py: renamed “check_files_exist()” to “ensure_files_exist()”, to better describe what the function does. It does not only check for existence but also creates the files if needed.
  • Cleaned up some unnecessary and redundant comments.
  • Weather condition codes now use application constants.
  • Cleaned up info and charts classes. Previously they were quite the mess, as each tab had been added with a numerical suffix to distinguish between them. However, this was not very clear as to the purpose of each tab, and also resulted in out of order suffixes as the tabs were rearranged. The variables are now named much more sensibly after their purpose (ex: “info_box1” became “gen_box”).

Changes (Bugfixes)

  • Fixed unnecessary symbols appearing in “Data Subset” HTML export.

Download

Downloads and code are available on Github.
Project page: https://github.com/achesak/weatherlog
Release page: https://github.com/achesak/weatherlog/releases/tag/v4.5