WeatherLog 4.11

Since the first releases, WeatherLog has used the MIT open source license. However, with version 4.11 it is now released under the GNU General Public License version 3 (GPL v3). This has some important implications for what can be done with the code, but changes nothing for users.

Changes (Features)

  • Merged info, charts, and graphs into the main window.
    • These no longer display in separate dialogs.
    • All data now auto-updates as new dates are entered, deleted, edited, and as datasets are modified.
    • See screenshots for how these features now look.

Screenshots

This slideshow requires JavaScript.

Changes (Code)

  • Many, many linting changes. WeatherLog now adheres to Python coding standards much more closely.
  • Removed dead code.
  • Removed unused dialog files.

Changes (Bugfixes)

  • Fixed crash when loading or creating an empty dataset.

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.11

PastebinGTK 2.0

Changes (Features)

  • Log in changes:
    • Added log in bar. This is a toolbar on the bottom of the window with fields for username, password, and buttons for log in and log out.
    • Moved status bar to the right side of the log in bar.
    • Log in no longer requires a user to be logged out already. This made switching accounts clunkier than necessary.
    • Log in errors (wrong password, for example) no longer log out the currently logged in user.
    • Removed log in and log out menu items and User menu; User Details menu item is now in Pastebin menu.
    • Removed prompt for log in option; unnecessary now that the log in dialog no longer exists.
    • Removed log in success dialog.
    • Removed log out success dialog.
  • List Recent Pastes now shows “Unknown” instead of “-” for pastes without a format.
  • Moved Options menu item into Pastebin menu; removed Options menu.
  • Editor now grabs focus on application start.
  • Added spacing to Options dialog.
  • Added tooltips to Options dialog.
  • Changed the About dialog link.

Changes (Bugfixes)

  • Fixed paste list dialogs being far too small.
  • Fixed paste list dialog column title inconsistency.
  • Fixed editor font not getting properly set to system default monospace.
  • Fixed log in error dialog not showing the correct message.
  • Fixed Options not saving the show line numbers option.

Changes (Code)

  • Fixed GTK import causing warnings.
  • Moved application data into new files (resources/appdata/*).
  • Changed application restore data to use JSON files.
  • Moved IO methods in launch.py into io.py.
  • Removed ui.py.
  • Removed unnecessary comments.
  • Renamed ListPastesDialog2 to ListTrendingPastesDialog and move class into its own file.
  • Removed log in dialog class.
  • Moved pastebin API data lists to new file (resources/python_pastebin/pastebin_lists.py).
  • Moved some dicts into pastebin_dicts.py module.

Download

Downloads can be found on the Github repository.

WeatherLog 4.10

Changes (Features)

  • Dataset name restrictions are now looser:
    • The only restrictions now are no forward slashes (“/”), no back slashes (“\”), and no periods at the start of the name.
    • The period restriction only exists as that is convention for hidden files on Unix-based systems and could cause issues. Periods not at the first position are still allowed.
    • Previously only a-z, A-Z, 0-9, and certain symbols were allowed. While this sounds like everything, it disregards all accented characters, certain punctuation not used in English like “¿”, and all non-Latin characters. In other words, it’s very far from everything.
  • Main data list now grabs focus. This means that it is now easier to use keyboard controls to navigate the data.
  • Moved Options menu item from its own menu to the Weather menu.
  • Added message dialog to Data Subset when no conditions are entered.
  • Added “Reset Conditions” option. If set to true, conditions will be cleared after the data subset is shown.
  • Renamed Info menu to Data, as there is much more than just the Info features there now.
  • Changed some menu accelerators to more logical shortcuts.
  • Clarified some tooltips in Options.

Changes (Code)

  • Merged some functions in launch.py and io.py.
  • Added extra error handling for launch.py and io.py.
  • Simplified launch.py:get_restore_data().
  • Renamed image files to remove the “profile” name.
  • Dataset name validation now uses application constants.
  • Added header comments to init files.
  • Moved CalendarRangeDialog to its own file.
  • Renamed GenericInfoDialog, GenericChartDialog, GenericGraphDialog; removed the “Generic” prefix as now one dialog is used for all.
  • Added explicit error checks in blocks where all errors were previously caught.
  • clear_all() now uses options() to reset options.
  • Added function update_columns() for changing the list column titles.
  • Clarified some comments.
  • Removed unnecessary comments.

Changes (Bugfixes)

  • Fixed Copy Data using the wrong names for dataset names.
  • Fixed pickle not saving or loading data properly on Python 3. This also required a change to binary data files, but this should not break anything.

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.10

WeatherLog 4.9

Changes (Features)

  • JSON export changes:
    • Export can now save data as JSON.
    • Export and Export to Pastebin will now indent JSON data by default. This increases the file size but makes it much easier to be read by humans.
    • Added options for JSON indenting and JSON indent amount.
  • Changed menu item ‘View Data Subset’ to ‘Data Subset’ for more consistency.
  • Add Dataset now filters some characters in the dataset name input. This should mean that a user will have more immediate feedback about what dataset names are allowed before the validation occurs.

Changes (Code)

  • Changed all appearances of ‘profile’ to ‘dataset’. Finally. Anything viewable by the user (aside from one little thing I only found this update) was already changed a long while ago, this change affected the last of the variable names and comments that used the old name.
  • Comment clean up. This will never end.
  • List updates will now be faster with large datasets when ‘truncate notes’ option is off.
  • calculations.py:median() now uses statistics.median() if possible. The statistics module was added in Python 3.5, so most Python installations will still use WeatherLog’s implementation.
  • Simplified copy_data_dataset().
  • Renamed get_dates() to get_datetimes() and moved it from graphs.py to dates.py.
  • Fixed warning appearing when opening the About dialog.
  • Moved graph hatch and line dicts into appdata/graphs.json. These were previously in graph_dialog.py.
  • Changed check for unit types in Add New and Edit dialogs to be more sensible.
  • Removed config file ‘lastprofile’. This had not been used in a few updates, but the application would still create it on first launch.

Changes (Bugfixes)

  • Fixed check of incorrect dialog response in Options reset. This issue meant that no matter what the user clicked in the confirmation dialog, whether it was Ok, Cancel, or even the close button, the options would always be reset.
  • Fixed error that would occur in Import when Import and Overwrite was clicked and no file name was entered.
  • Fixed dialog title using ‘Profile’ instead of ‘Dataset’.

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.9

WeatherLog 4.8

This update is entirely internal changes that should not be visible to the user.

Changes (Code)

  • Added new commands.py module for command line features.
  • Added new function datasets.py:get_column_list(). This works similarly to datasets.py:get_column(), but accepts multiple columns instead of one.
  • Simplified getting lists of dates, using the previously mentioned function. Any other code that could be simplified in the same way will be when found.
  • Usage of update_list(), update_title(), and save() is now more consistent.
  • Removed extra, unnecessary calls to update_list().
  • Simplified save().
  • File headers, descriptions, and module imports are now more consistent. This sounds like a simple change, and individually it was, but it affected every file of code in the application. The files now more clearly state their purpose, and they are formatted identically as well.

Changes (Bugfixes)

  • Fixed non-option configuration data occasionally being overwritten. This bug did not affect any user-entered configuration, of the type entered in the Options dialog. It only affected internal configuration that must be manually edited. No options should have been lost as a result of this.

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.8

WeatherLog 4.7

Changes (Features)

  • Bar charts now only use integers on the y-axis. It didn’t really make sense to x.5 of a day of weather.
  • Charts changes:
    • Added extra spacing to columns in Charts. This should make it much easier to read, as before everything was very compact.
    • Simplified display of data in Charts:
      • Any field that previously was “X Value” is now simply “X”. For example, “High Value” became “High”.
      • Fields displaying a numerical difference are no longer formatted with “above” or “below” but instead plus or minus signs. For example, “5.4 above” became “+ 5.4”.
  • Changed error message for Export to Pastebin to be more descriptive and better match the error messages used for Add New and Get Weather.
  • Data Subset changes:
    • Changed name of “condition” to “operator”. This is because “condition” was used to refer to both the operator used (equal to, greater than, etc) and the entire comparison (data field, operator, and value).
    • Added case insensitive option to Data Subset.
  • Added option for default selection mode for Data Subset.
  • Added longer and more descriptive confirmation text for Clear All.
  • Get Weather now rounds temperature, pressure, and precipitation values to one digit instead of to integers. This fixes oddities like days with “0 cm” of rain.
  • Added Control-Shift-w keybinding for Get Weather For.

Changes (Code)

  • Renamed new_dialog.py to add_dialog.py.
  • Moved check to see if matplotlib is installed to a function in the launch module.
  • data_range() and data_selected() now use application constants to determine the info type instead of strings.

Changes (Bugfixes)

  • Fixed Gtk throwing a warning when the application first started.
  • Fixed Add New not formatting dates properly when a new date was selected. All dates in WeatherLog are supposed to be formatted as “dd/mm/yyyy”. Changing the date in Add New when the day or month was a single digit could result in shortened dates like “d/m/yyyy”. To be clear, this was a display issue only; the unintentional date format still worked, and any data that is formatted this way will continue to work.

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.7

WeatherLog 4.6

Changes (Features)

  • Added “Select All” button to “Info/Charts/Graphs for Selected Dates” date selection dialog.
  • Added option for forecast period; can be between 1 and 16.
  • Added message when using “purge” command line argument.
  • Added new location entry dialog for “Get Weather For”. This dialog allows the user to select whether the location they enter is a city or zip code.
  • Added error message to “Add New” and “Get Weather” for when the user attempts to use these features with no OpenWeatherMap API key set.

Changes (Code)

  • Merged info_range(), charts_range(), graph_range() into data_range().
  • Merged info_selected(), charts_selected(), graph_selected() into data_selected().
  • Fixed incorrect dialog class comments.
  • Removed old dict used previously for Yahoo! Weather.
  • Removed unnecessary error checks.

Changes (Bugfixes)

  • Fixed “Add New” and “Get Weather” throwing errors if not connected to the internet.
  • Fixed “Add New” using the wrong configuration variable to get user’s location (‘location’ instead of ‘city’/’zip’).
  • Fixed incorrect “Edit” dialog text.
  • Fixed “Get Weather For” always using location set in options.
  • Fixed issue with “deg” (wind direction, in degrees) not always getting set in OpenWeatherMap data.

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.6