[Soc-2016-dev] Weekly Report #05, Python Package Manager
Peter D. Cassetta
peter at fingertipsoft.com
Sun Jun 26 09:01:17 CEST 2016
Hi all,
During the fifth week of GSoC, I've been catching up on work from last
week, and working towards my goal for Jun 20 - Jul 1 as stated in my
proposal: "Enable rollback and the option to prevent deleting original
add-on after update, restoring the original add-on if an update fails."
I am almost back on schedule. The add-on is now functional, with some
limitations:
- Add-ons to download must be hosted locally at
http://localhost:8000/add-on.py (or .zip for multi-file add-ons)
- Add-ons on the index.json (from blender.org gitweb) are only displayed
if they are either 1) not installed locally, or 2) installed in the USER
path. This is due to permissions concerns which will be addressed more
fully at some later time.
- The add-on currently blocks Blender while downloading/installing.
Regarding the last point: I am working on this, using the asyncio module
to download and install add-ons on asynchronously. I am still working on
catching any raised exceptions and updating the UI appropriately during
the process.
As for my goal for Jun 20 - Jul 1, I have already completed part of it:
"restoring the original add-on if an update fails". The package manager
add-on save the downloaded add-on to my add-on's folder, and does not
overwrite the original add-on until the download is successful.
Tomorrow I plan to submit a patch with aforementioned asynchronous
support, and then do some cleanup according to feedback from Sybren, at
which point I will be completely back on track.
(My commits can be viewed at
https://developer.blender.org/diffusion/BPMA/repository/master/)
Next week I'll be adding in rollback support, so if the user finds an
updated add-on doesn't work as expected, they can easily roll back to a
previous version.
Best regards,
Peter Cassetta
More information about the Soc-2016-dev
mailing list