-
Notifications
You must be signed in to change notification settings - Fork 7
Description
The PyWeather updater system sucks at the moment, and I'm going to change this in 0.6.4 beta.
Right now, the PyWeather updater uses Git to update, which has been notoriously unreliable across a half a dozen releases. Git only works on some platforms, and I'm sick of the updater breaking on each release.
Beginning with 0.6.3 beta, the Git updater will be entirely disabled, and I feel as if coding in a new updater will extend 0.6.3 beta's release time out too far into December 2017. A few configuration options will get removed as well.
From 0.6.3 beta to 0.6.4 beta, the .zip method will be the only way of downloading PyWeather within itself.
The new updater will encompass a few new tricks that I still need to learn, and here's how things will generally work:
- The updater will check for new updates, and show to the user if they'd like to download the .zip, or update within PyWeather. The manual downloading of the .zip file will still be available.
- If a user decides to run the automatic updater, the .zip will be unzipped in the base directory of PyWeather, replacing all files.
- With the updated configupdate.py file, the script will run, and PyWeather will exit. Progress messages will get displayed throughout the process.
With this, I need to learn these skills:
- Unzipping a .zip file properly with Python 3
Part 2 involves adding the actual updater code itself into 0.6.4 beta.
Checklist:
- Creating v2 of the API
- Figuring out how to download .zip files with a real progress bar (no spinny wheel)
- Figuring out how to properly extract .zip files
- Making a base updater UI to allow the user to check for updates (no downloading yet) and change to a different branch
- Making the real "meat" of the updater
- Adapting configupdate.py to accept RC packages
- Redoing the update checker on boot