Addon Manager Redesign 2021

Info about new community or project announcements, implemented features, classes, modules or APIs. Might get technical!
PLEASE DO NOT POST HELP REQUESTS OR OTHER DISCUSSIONS HERE!
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
bambuko
Veteran
Posts: 2161
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: Addon Manager Redesign 2021

Post by bambuko »

chennes wrote: Mon Apr 04, 2022 2:30 pm I can't reproduce it locally, but I'm betting it's really a Qt bug -- I'll see if I have an installation of 5.12.9 anyplace that I can compile against.
Just a follow up note...
I have un-installed incorrectly displayed workbenches, refreshed local cache and installed them again (doing it for each workbench individually)
This has solved things and everything is OK (whatever has caused it? :D )

Thank you for all your work :!:
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
kisolre
Veteran
Posts: 4163
Joined: Wed Nov 21, 2018 1:13 pm

Re: Addon Manager Redesign 2021

Post by kisolre »

Is there any normal way to cancel an active install? Today I tried installing Offline-Documentation and while the download was happening noticed its big size. Around 290MB I decided that I want to cancel it (mobile internet in rouming, limited HDD space, ...), but there was no way to do so. Since I always have Process explorer running I just killed the git process tree. Addon manager did not notice anything strange and continued to show download progress bar.
Since there are at least two (Parts library and Offline Documentation) massive workbenches and there is no advanced information of the download size could we at least have a "Cancel" button, active while the installation is in progress?
User avatar
chennes
Veteran
Posts: 3878
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: Addon Manager Redesign 2021

Post by chennes »

Actually, not really! GitPython is very, very rudimentary, and doesn't offer graceful ways to cancel operations. They had one originally, but it relied on a C++ idiom that doesn't actually work in Python. For non-git installations I could easily cancel an active download, but there isn't a general way to cancel the git side of things. I'd like to migrate away from GitPython, but can't do that before 0.20 is released.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
TheMarkster
Veteran
Posts: 5505
Joined: Thu Apr 05, 2018 1:53 am

Re: Addon Manager Redesign 2021

Post by TheMarkster »

When updates are available the Checking for updates button has a tooltip:

"Download and apply all available updates"

Would it be possible to dynamically change the tooltip to list the updates that are available?
TheMarkster
Veteran
Posts: 5505
Joined: Thu Apr 05, 2018 1:53 am

Re: Addon Manager Redesign 2021

Post by TheMarkster »

These updates are failing:
Snip macro screenshot-3df06c.png
Snip macro screenshot-3df06c.png (9.23 KiB) Viewed 2039 times

Code: Select all

OS: Windows 10 (10.0)
Word size of FreeCAD: 64-bit
Version: 0.20.28751 (Git)
Build type: Release
Python 3.8.13, Qt 5.12.9, Coin 4.0.0, OCC 7.5.3
Locale: English/United States (en_US)
Installed mods: 
  * A2plus 0.4.56 (Disabled)
  * Assembly4 0.11.12
  * BOLTSFC
  * CurvedShapes 1.0.3
  * Curves 0.3.0
  * DynamicData 2.46.0
  * fasteners
  * FCGear
  * FreeCAD_mcm_addon
  * gears
  * hfcInventorMentorA
  * InvGears
  * lattice2
  * Manipulator
  * MeshRemodel 1.8919.0
  * POV-Ray-Rendering
  * sheetmetal 0.2.49
  * ThreadProfile 1.81.0
Report view:

An error occurred updating macros from GitHub:
Cmd('git') failed due to: exit code(128)
cmdline: git pull --ff-only
stderr: 'fatal: not a git repository (or any of the parent directories): .git'
Syntax error while reading __files__ from macro AeroFoil
__Files__ = "AeroFoil_UI_Files/AeroFoil_Initial_Dialog.ui, AeroFoil_UI_Files/AeroFoil_NACA4Digit_Dialog.ui, \
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: Addon Manager Redesign 2021

Post by Kunda1 »

Feature request:
Add a Github connectivity test button in the Addon Manager UI that when invoked runs the following script:

Code: Select all

import urllib.request
r = urllib.request.urlopen("https://api.github.com/zen")
r.read()
and returns success or failure to the user.

Edit: Opened FR @ https://github.com/FreeCAD/FreeCAD-addons/issues/221
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
chennes
Veteran
Posts: 3878
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: Addon Manager Redesign 2021

Post by chennes »

TheMarkster wrote: Fri May 06, 2022 3:47 pm These updates are failing:
Can you look to see if your user macros directory has a .git subdirectory in it?
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
TheMarkster
Veteran
Posts: 5505
Joined: Thu Apr 05, 2018 1:53 am

Re: Addon Manager Redesign 2021

Post by TheMarkster »

It does have a .git subdirectory in it.
User avatar
chennes
Veteran
Posts: 3878
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: Addon Manager Redesign 2021

Post by chennes »

Can you see if a manual "git fetch" works in that directory? GitPython doesn't output a lot of diagnostics for us to use here... I'll also see if I can replicate this behavior locally.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
chennes
Veteran
Posts: 3878
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: Addon Manager Redesign 2021

Post by chennes »

To assist Addon developers in preparing for the release of FreeCAD 0.20, I've added a new option to the Addon Manager that enables a suite of tests of all available addons. It is mostly focused on making sure that any specified package.xml file is valid, but also checks a few other things, and I plan to flesh it out more in the future to do more thorough checks for things like file existence, etc. To enable this feature you need to have logging turned on (all messages are printed at Log level), and then manually create the boolean parameter "developerMode" in the "Addons" category of the user parameters. Set it to True to enable dev mode, then open Addon Manager. Once it has finished loading it will analyze the data it has downloaded and print out a bunch of messages.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
Post Reply