WeatherLog 4.4

Changes (Features)

  • Merged “Copy Data” and “Move Data” into one window.
  • “Copy Data” now has a Conflicts column when selecting which data to copy.
  • “Edit” now shows a date selection dialog if no data was selected in the main window.
  • “Remove” now shows the selected dates in the confirmation dialog.
  • Removed some unnecessary newlines in dialog text.
  • “Export to Pastebin” changes:
    • “Export to Pastebin” will now ask the user if they want to open the link in their web browser.
    • Added a default name for new pastes. This name is used if the user leaves the “name” field blank in the dialog.
    • Added new options for default paste name, exposure, and expiration.
    • Increased default width of “Export to Pastebin” dialog.
    • Fields in “Export to Pastein” dialog can now expand.
  • “Get Weather” changes:
    • Added an image to the dialog that changes based on current weather conditions.
  • Added “purge” command-line option. This will completely remove all data and configuration files. Not intended for users (“Clear All” already serves that purpose), more of a development thing for when potentially breaking changes are made to the files.
  • All dialogs can now be resized. I’m not sure why I even added this limitation in the first place.
  • Dataset selection windows that allow multiple selections now have the proper label.

Changes (Code)

  • Moved help link into data files.
  • Variables that used all caps have been changed to the rest of the application’s conventions.
  • Removed some unnecessary dataset checks for if datasets other than the currently open one existed. These were no longer necessary with the new dialogs.
  • Minor comment changes for dialog file headers.
  • Dataset metadata files now use JSON (renamed from “metadata” to “metadata.json” with a format change).
  • Main configuration file renamed from “config” to “config.json”. This file already used JSON format, this was merely a name change.
  • Merged “lastprofile” and “window_size” configuration files into a new file called “application_restore.json”.
  • Cleaned up “CurrentWeatherDialog” dialog class.
  • Moved note truncation code to “datasets.py” module.
  • Added “pastebin.json” data file, with expiration and exposure constants.
  • Added dataset column index constants.
  • Merged “DatasetNameDialog” and “LocationDialog” into “GenericEntryDialog” (entry_dialog.py).

Changes (Bugfixes)

  • WeatherLog now fully uses the “title” UI variable.
  • Fixed errors that would occur in “Add New” and “Get Current Weather” if the user was not connected to the internet.
  • Fixed “Clear All” causing an error and being unable to clear options.
  • Fixed “Clear All” resetting options with some options missing.
  • Fixed window width and height sometimes getting swapped when restarting the application.
  • Fixed being unable to start the application if certain configuration or data files were missing.
  • Fixed recurring warning messages when launching the application using the default configuration.
  • “Export” fixes:
    • Fixed Unicode errors in “Export to CSV”.
    • Fixed Unicode errors in “Export to HTML”.
    • Fixed formatting issues in “Export to CSV”.
    • Fixed extra “%” sign appearing in Humidity column title in “Export to HTML”.
  • Fixed an error that would occur when attempting to move data between datasets.
  • Fixed the dataset validation dialog not showing the proper dialog text.
  • Fixed moving data then immediately switching datasets not removing the data from the original dataset.
  • Fixed “Edit” not showing a dialog if there is no data to edit.
  • Fixed some inconsistent dialog text in dialogs used by dataset functions.

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

WeatherLog 4.3

Changes (Features)

  • Import changes:
    • Merged Import with Import and Merge. These now split only after the file has been selected and validated.
    • Import and Merge has been changed to the default option.
    • Added “Conflict” column to Import date selection dialog. This will display “No” for a row if it doesn’t already appear in the existing dataset, or “Yes” if it appears in both.
  • Remove Datasets changes:
    • Remove Datasets now allows the current dataset to be deleted. If this happens when other datasets exist it will choose the first (alphabetically sorted) dataset to switch to afterwards. If this happens when no other datasets exist it will create a new, blank “Main Dataset”.
    • Added keybinding for Remove Datasets.
  • Rename Dataset changes:
    • Rename Current Dataset has been renamed to Rename Dataset.
    • Rename Dataset now allows the current dataset to be renamed.
  • Changed About dialog link to the Github repository.
  • Data validation is now done before any other prompts for Import.
  • Added more descriptive error dialog messages for Copy Data to New/Existing Dataset.
  • Removed unnecessary space from exported HTML.
  • Added extra padding to Export to Pastebin dialog.

Changes (Code)

  • Changed location of application files on Windows.
    • Previous location: C:\.weatherlog
    • New location: C:\Users\[username]\AppData\Local\weatherlog
    • NOTE: this will break backwards compatibility on Windows! This can be avoided by copying the data files at the previous location into the new one, as the files themselves haven’t changed.
  • Moved some application data into new files:
    • Created subdirectory weatherlog_resources/appdata for these files.
    • Moved menu.xml into this directory.
    • Created new file ui.json for interface data.
    • Created new file units.json for details on units.
    • Created new file default_config.json for storing the default configuration.
    • Created new files weather_codes.json for storing the weather detail codes.
  • Added new option “debug_mode”. If this is set to true the application will output debug info in certain functions. Note that there is no way to set this from the Options dialog, as it is obviously not meant for a user. This is pretty much just for my own use.
  • Miscellaneous dialogs (misc_dialogs.py module) now use application constants.
  • About dialog now has the parent properly set.
  • Copy Data to New/Existing Subset now use application constants.
  • Simplified code to set default options.
  • Error message changes:
    • Error messages now write the full error description.
    • Error messages now write the function in which the error occurred.
  • Miscellaneous comment improvements; continued to remove mentions of “profile”.
  • Simplified exported HTML title creation.
  • Removed unnecessary import.

Changes (Bugfixes)

  • Fixed Remove not stopping if there is no data.
  • Fixed Data Subset not stopping if there is no data.
  • Fixed Graphs not stopping if there is no data.
  • Export and Export to Pastebin now use the correct error dialog.
  • Fixed Import as New Dataset not working at all.
  • Fixed Import as New Dataset not creating a new metadata file.
  • Fixed metadata not being created properly when recovering from a missing 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.3

WeatherLog 4.2

Changes (Features)

  • Merge Datasets had some major changes:
    • Current dataset can now be merged.
    • Multiple datasets can now be merged at once.
    • Instead of merging into an existing dataset, Merge Datasets now prompts for the name of a new dataset to create with the merged data.
  • Edit now has a stock icon and a toolbar button.
  • Removed Clear Data toolbar button.
  • Info, Charts, Graphs, and Data Subset dialogs no longer force modal.

Changes (Code)

  • Finally removed the last of the comments referring to “profiles”. These now refer to “datasets”.
  • DatasetSelectionDialog now uses a new set of application constants for the selection mode (single/multiple).

Changes (Bugfixes)

  • Fixed Edit causing an error if no row was selected.

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

WeatherLog 4.1

This release is mostly internal changes and bugfixes, ideally there shouldn’t be much noticeable to a user.

Changes (Features)

  • Increased the default size of the Charts dialog.

Changes (Code)

  • Get Current Weather dialog class now uses application constants.
  • Import functions now use application constants.
  • info_range(), charts_range(), graphs_range() now use application constants.
  • Moved About dialog into it’s own class and file.
  • clear_all() now uses launch.config(); this count count as a bugfix too, as trying to clear all application data would have failed.
  • Corrected some comment spelling fixes and indentation issues (thanks @ashutosh-mishra on Github).
  • Simplified dataset module functions.
  • Simplified calculations module functions.
  • Changed graphs.get_data() to use a dict for the return data.
  • Moved pre-fill code to get_weather.
  • Moved pastebin export to new file.

Changes (Bugfixes)

  • Export now longer fails silently when no filename is entered and CSV or HTML export is selected.
  • Import validation now checks data format.
  • Import validation now checks that the data is not empty.

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

PastebinGTK 1.3

Changes (Features)

  • Added new “Get Paste Info” feature. This will prompt the user to enter a paste key or link, and will show the paste name, who uploaded it, when it was uploaded, when it will be deleted, and how many times it has been viewed.
  • Added three new fields to “Get User Detail”: profile views, total paste views, and when they joined pastebin.com.
  • In “List User’s Pastes” and “List Trending Pastes”, untitled pastes will now show “Untitled” as the name instead of leaving the field blank.
  • Streamlined the login process a bit to remove unnecessary dialogs.
  • Some dialogs, notably the login dialog, will now default to having the OK button selected (so pressing Enter will activate the button).
  • CODE: Pretty big clean up of the code. Some things were moved to new files and all variables were made class properties instead of globals. Also cleaned up a lot of old or redundant comments.

Changes (Bugfixes)

  • Fixed issue with “List Recent Pastes” where it didn’t work at all. That’s one big downside of having features based entirely on webscraping; if something changes on the website, the entire thing breaks.

Download

Downloads can be found on the Github repository.

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