WeatherLog 4.0

Note that this release is not backwards compatible due to changes to the options system. However, old datasets will work if manually backed up and moved back after the configuration data has been overwritten.

The major changes this release are up-to-date and clearer help files, many UI improvements, and more options to configure the application.

Changes (Features)

  • Added new Help file. Instead of the old HTML pages it is now a PDF file generated from ODT. This makes it much easier to edit and update. This is something I’ve been putting off for quite a long time (as was clear by looking at the previous help files, it hadn’t been updated since 2.x.).
    • See the new help file here.
  • Improved the Notes field. It can now be multiple lines, and the value shown in the main data display will now be truncated if the note reaches a certain length.
  • Added option to control note truncating.
  • Added option for Pastebin API key.
  • Added new graphs options:
    • Graph color
    • Graph line thickness
    • Graph line style
    • Graph bar style
  • Double clicking on an item in the main data display will now open the Edit dialog for that item.
  • Added default stylesheet for HTML export. It currently uses the Minimal CSS theme that is also used for the application website.

Changes (Interface)

  • Add and Edit now use TextViews for the Notes field. This means that multi-line notes are now possible.
  • Options dialog has been cleaned up and had the tabs moved to the left.
  • Added new calendar range dialog. Instead of the two dialog system that was used previously, the new version has been streamlined into one.
  • Changed following dialogs to use frames instead of labels:
    • Dataset name
    • Dataset selection
    • Date selection
    • Import selection
    • Location selection
  • Changed label text on some dialogs.
  • Added some spacing to the following dialogs:
    • Options
    • Add
    • Edit

Changes (Code)

  • Added error checking to Export to Pastebin.
  • Changed some remaining hard-coded values to use constants.
  • Comment clean-up.
  • Cleaned up Graphs dialog.

Changes (Bugfixes)

  • Fixed Export to Pastebin not working at all.
  • Fixed Copy Data not using new data variable.
  • Fixed Export HTML not using new data variable.
  • Fixed issue when Yahoo Weather returned an empty string for visibility.

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

WeatherLog 3.4

Changes (Features)

  • Added new Add New and Edit dialog, with removed tabs and new date selection dialog. See screenshots section for new appearance.
  • Added new Data Subset selection dialog. This new dialog has added usability as well, with new buttons to reset and clear fields. See screenshots section for new appearance.
  • Air Pressure is now a field in Data Subsets. This should have already been there, I think this was more likely a bug from when the new fields were added. Not entirely certain though, I may have simply forgot about it.
  • For conditions that accept multiple values, Data Subsets now splits these values on comma + whitespace instead of simply a comma.
  • Added type error checking and error dialog for Data Subset. It is no longer possible to compare string values in numerical fields.
  • Increased the width of the dataset selection dialog. Clearly this was the most important change of this release.
  • CODE: Replaced all global variables with class variables. I’ve gone through everything multiple times, but due to the number of functions that rely on these there is very likely still something small that is broken from this change. Anything remaining will be fixed as soon as I find it. On the plus side, this helps modularize the application more, and even opens up the possibility of importing the main file and initializing the application from another (though why you’d want to I have no idea, but still, kind of cool).
  • CODE: Moved main user interface creation code to a new function.
  • CODE: Continued to remove the “profile” name and replace with “dataset”. Still not complete, mostly because this is used too much in too many places to rely on a simple replace, and I don’t really want to go through every file and change the name in comments and variables by hand.
  • CODE: Removed unused “py_version” global variable. I believe this was something used in previous code that was version-specific, but this code is no longer present.
  • CODE: Starting cleaning up imports. There were many unused or redundant imports.
  • CODE: Icon path is now stored in launch.get_ui_info(), instead of being hard-coded.
  • CODE: delete_event() now uses io module.
  • CODE: data_dataset_new() and related functions now use io module.
  • CODE: Added and implemented application constants, mostly for custom dialog return values. This should improve code clarity and cut down on the wrong return value being used.
  • CODE: Moved get_weather() code to a new file. (Creatively called get_weather.py.)

Changes (Bugfixes)

  • Fixed selection mode “None” not working properly.
  • Fixed creating a new dataset then immediately closing the application without any further actions causing the application to load the previous dataset on next load.
  • Fixed Import All button in Import, Import and Merge, and Import as New Profile not working if no data was selected.

Screenshots

Download

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

WeatherLog 3.3

Changes (Features)

  • Added new operators for Data Subsets: “Starts With”, “Does Not Start With”, “Ends With”, “Does Not End With”, “Contains”, and “Does Not Contain”
  • Added Notes as a possible field to filter for Data Subsets.
  • Data Subsets will no longer prompt on removal of conditions, for usability reasons.
  • Delete key can now be used in Data Subsets to quickly remove conditions.
  • Enter key can now be used in all applicable dialogs to select the OK button without using the keyboard.
  • Changed website link and removed link to Weatherfire (which isn’t even usable anymore on current versions of Firefox OS).
  • CODE: Renamed files/dialogs/functions relating to Data Subsets to better reflect their current use. The new subsets system was sort of tacked onto what was left of the base of the previous iteration, and the naming really didn’t make sense anymore.
  • CODE: Cleaned up save() function. It had two parameters, “automatic” and “show_dialog”, both of which were left from the older manual saving system and were not used now. It also had an unused condition and dialog that were used for the same system. These were all removed.
  • CODE: Cleaned up exit() function. I don’t even know what was going on in this function, I don’t think I’ve actually looked at it since the first few releases. It was a mess of duplicated code and redundant conditions, and wasn’t very well thought out. For some reason there was also three different calls to save(), two of which only saved the configuration files (I have no idea why).
  • CODE: Removed unnecessary calls to save() in other places as well. This should help reduce the application slowing down a ton when working with lots of entries (I have a test file with 10000, and every time a save is called the application noticeably stutters briefly). Still need to work on the internal data structure to get info-related functions working faster.

Changes (Bugfixes)

  • Fixed Export to Pastebin causing an error when trying to export as JSON.
  • Fixed Precipitation Type field not allowing string comparisons in Data Subsets.

Download

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

WeatherLog 3.2

Changes (Features)

  • For “most common” and “number of”-type fields in Info, the number of occurrences is now shown.
  • For precipitation totals, precipitation number of days days, air pressure number of days, cloud cover days, and cloud type days, the percentage of the respective total is now shown.
  • Added “most common cloud type” and “most common cloud cover” fields for Cloud Cover Info.
  • Added longer, more descriptive error message shown if Matplotlib isn’t installed when the user tries to open Graphs.
  • Renamed “Wind” graph to “Wind Speed”.
  • Renamed some menu items to be more consistent.
  • Reorganized some menu items.
  • Renamed some option text to be more descriptive.
  • Added tooltips to options.
  • Renamed “pre-filling” to “automatically filling”, and made some changes to the “data was automatically filled” dialog.
  • Removed “Save automatically” option and “Manual Save” menu item. All saving of data will now be done automatically. This feature hasn’t been relevant for quite a long time, as it was initially a workaround for issues with how data was saved in very early versions of WeatherLog.
  • Slightly changed exit confirmation message.
  • Renamed button in export file selection dialog to “Export” (was previously “Save”).
  • Renamed “OK” button when selecting conditions for a data subset to “View”.
  • Added a check in data subset condition selection so that conditions with blank values can no longer be entered.
  • CODE: file export selection dialog now uses a generic function (show_export_dialog()) instead of instances of Gtk.FileSelectionDialog.
  • CODE: rewrote exporting code to use generic functions. Instead of needing functions for each feature (main data list, subsets, info, charts, current weather), they now all use the generic function export.html_generic(). In addition, removed export_info module as it was now unnecessary.

Changes (Bugfixes)

  • Fixed formatting issue with Weather Forecasts.
  • Added error checking for “Export to CSV” and “Export to HTML” buttons in Export. Previously, if no filename had been entered they would fail silently.
  • Fixed typo in Precipitation Info.

Download

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

WeatherLog 3.1 + WeatherLog 3.1.1

There are two new releases just because I forgot to commit a change I made before adding the release on Github, which evidently doesn’t let you delete or edit releases.

Changes (Features)

  • Add New will now prompt to overwrite existing data if the user selects a date that has already been entered. Previously it would show an error and close the dialog when this occurred, in order to prevent accidental overwrites. However, this also meant that if a user wanted to completely overwrite data (as opposed to using the Edit feature) they would need to delete it first then enter the new data, which was a needlessly long process.
  • Implemented date rounding for Info in Range, Charts in Range, and Graphs in Range. In previous versions of WeatherLog the dates selected had to have data entered for them, but this wasn’t very flexible, as it required the user to know the exact dates data was entered in. Now if the starting date isn’t found it will round up to the next entered date, and if the ending date isn’t found it will round down to the previous entered date.
  • Added more descriptive error messages. Nobody wants to see a dialog telling them something is invalid without giving any clues on how to fix it. In particular, the error messages for validating dataset names and imported data are much more descriptive, and will say exactly what is wrong. Info in Range, Charts in Range, and Graphs in Range also had their error messages improved.
  • Changed some default dialog sizes to be more consistent.

Changes (Bugfixes)

  • Fixed WeatherLog not being able to start when matplotlib wasn’t installed. The intent was to allow the application to work normally without that library, but simply disable graphs. However, there were missing import checks in two modules that caused it to fail.
  • Fixed incorrect title formatting in Info in Range that caused an error.
  • Fixed typo in error dialog in Info in Range, Charts in Range, and Graphs in Range.

Download

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

PastebinGTK 1.2

Changes (Features)

  • Added new “User” menu for better organization.
  • The “Account Type” and “Default Exposure” fields in “View User Details” now show actual descriptive values instead of the API’s internal numerical codes.
  • “List User’s Pastes”, “List Trending Pastes”, and “List Recent Pastes” now allow rows to be double-clicked to view them.

Download

Downloads can be found on the Github repository.

WeatherLog 3.0

Changes (Features)

  • Added three new data fields: “Wind Chill”, “Visibility”, and “Cloud Type”.
  • Added new interface for Add New and Edit windows (see end of post for images). The new windows are split into multiple sections to organize the fields better and make entering data clearer. In addition, it’s now possible to specify the units to use for each individual field. The slightly-buggy and rather unintuitive field conditional disabling system has also been removed for both Add New and Edit.
  • Added new interface for Data Subsets (see end of post for images). The “simple” and “advanced” windows were streamlined into one, and the previous checkbox-based system was changed to a listbox to make it easier to add, remove, and view conditions.
  • Added Wind Chill, Visibility, and Cloud Type graphs, info screens, and charts.
  • Renamed “Profiles” to “Datasets”.
  • Renamed “Manual Save” to “Save Data”.
  • Changed the Export to Pastebin feature to use a window instead of a menu, and added the ability for users to specify the paste title.
  • Removed “Reload Current” as it has not been necessary for quite a while now.
  • Updated some dialog text.

Changes (Code)

  • Major refactoring of some internal modules. Mostly splitting up some files (utility_functions.py in particular) into smaller ones. Some files were also renamed to be more consistent.

Download

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

Images

View Data Subset - Main Dataset_004 View Data Subset - Main Dataset_005 Add New - Main Dataset_001Add New - Main Dataset_002Edit 17-5-2015 - Main Dataset_003