Thanks Syres, i already use os.path everywhere, but the problem is not that. Anyway i am refactoring everything to use pathlib now, so forget any existing version. I will ping back when commit a new refactored version.Syres wrote: ↑Mon May 25, 2020 7:07 pm
One test I carried out from the Python Console that should work for all platforms and therefore hopefully doesn't need all this special Windows treatment is:
which on my Win7 gives:Code: Select all
import os.path os.path.join(App.getHomePath(),"bin")
Not sure whether that makes the situation better or worse but I'm sure it's used elsewhere but you can confirm on your install as well?Code: Select all
'E:/Data/My Downloads/FreeCAD_0.19.21189_x64_LP_12.1.6_PY3QT5-WinVS2015/FreeCAD_0.19.21189_x64_LP_12.1.6_PY3QT5-WinVS2015/bin'
Add ons manager - development and bugs topic
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
Re: Add ons manager - development and bugs topic
Re: Add ons manager - development and bugs topic
Hi Friends,
I have migrated everything from os.path to pathlib. I have done some tests in Linux and Windows 10. Looks ok but there could be some regressions. I expect that all the windows path insanity is fixed now for win7+
Probably it is better to try a fresh install.
Packages already installed have no enough metadata but if you update from the cloud source, they will be upgraded.
There are many things pending yet, I will continue:
- Manage Custom repositories
- Uninstalls
- Command line interface
- Alternative Mod root (not sure about this)
- Update notifications
- Some performance enhancements
- Proxy management
https://github.com/mnesarco/FreeCAD_ExtMan
I have migrated everything from os.path to pathlib. I have done some tests in Linux and Windows 10. Looks ok but there could be some regressions. I expect that all the windows path insanity is fixed now for win7+
Probably it is better to try a fresh install.
Packages already installed have no enough metadata but if you update from the cloud source, they will be upgraded.
There are many things pending yet, I will continue:
- Manage Custom repositories
- Uninstalls
- Command line interface
- Alternative Mod root (not sure about this)
- Update notifications
- Some performance enhancements
- Proxy management
https://github.com/mnesarco/FreeCAD_ExtMan
Re: Add ons manager - development and bugs topic
Thanks for the perseverance, all starts error free on both my Win7 and Linux versions.mnesarco wrote: ↑Tue May 26, 2020 3:46 am I have migrated everything from os.path to pathlib. I have done some tests in Linux and Windows 10. Looks ok but there could be some regressions. I expect that all the windows path insanity is fixed now for win7+
Probably it is better to try a fresh install.
Re: Add ons manager - development and bugs topic
Fantastic progress!!
Question: Would you mind adding instructions on how to install regardless of the fact that it's still in Alpha? (you could drop in a warning explaining it's for testers and non-end-users)
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
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
Re: Add ons manager - development and bugs topic
Thank you for your tests and reviews Syres.
Sure, let me finish some things today an I will update the readme.
Re: Add ons manager - development and bugs topic
HI Friends,
I have one question. I need to maintain a collection of user defined package sources, it is not only a list of urls, it is a full json file. I can Maintain it in a real json file inside UserAppDataDir but i can also use App.ParamGet and put the json content inside a String parameter. Which approach do you recommend?
Currently i save some json files in a cache dir but all data there is disposable, in this case it is not the same because is user configuration data.
I have one question. I need to maintain a collection of user defined package sources, it is not only a list of urls, it is a full json file. I can Maintain it in a real json file inside UserAppDataDir but i can also use App.ParamGet and put the json content inside a String parameter. Which approach do you recommend?
Currently i save some json files in a cache dir but all data there is disposable, in this case it is not the same because is user configuration data.
Re: Add ons manager - development and bugs topic
I'll give you a fact rather than an opinion if that's OK? The Path Wb has a ToolLibrary text field which in my case has 500 characters in it which is in Parameter BaseApp\Preferences\Mod\Path\ToolLibrary-Main so some kind of precedent has been set but as with all these things I'm sure there needs to be a limit somewhere.mnesarco wrote: ↑Tue May 26, 2020 5:26 pm I have one question. I need to maintain a collection of user defined package sources, it is not only a list of urls, it is a full json file. I can Maintain it in a real json file inside UserAppDataDir but i can also use App.ParamGet and put the json content inside a String parameter. Which approach do you recommend?
Re: Add ons manager - development and bugs topic
Hi Friends,
I have pushed a new version, now with custom repositories management. and some improvements.
https://github.com/mnesarco/FreeCAD_ExtMan
I have pushed a new version, now with custom repositories management. and some improvements.
https://github.com/mnesarco/FreeCAD_ExtMan
Re: Add ons manager - development and bugs topic
I deleted the old Wb in it's entirety and installed the new one but unfortunately the new version won't load, Report View output:
Code: Select all
Init: Initializing freecad.extman
During initialization the error "module 'freecad.extman' has no attribute 'utils'" occurred in freecad.extman
--------------------------------------------------------------------------------
Traceback (most recent call last):
File "<string>", line 150, in InitApplications
File "importlib\__init__.py", line 126, in import_module
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\Users\JPS\AppData\Roaming\FreeCAD\Mod\FreeCAD_ExtMan\freecad\extman\init_gui.py", line 27, in <module>
from freecad.extman.gui.browser import install_router, start_browser
File "C:\Users\JPS\AppData\Roaming\FreeCAD\Mod\FreeCAD_ExtMan\freecad\extman\gui\browser.py", line 25, in <module>
from freecad.extman.gui.controller import actions, message_handlers
File "C:\Users\JPS\AppData\Roaming\FreeCAD\Mod\FreeCAD_ExtMan\freecad\extman\gui\controller.py", line 28, in <module>
from freecad.extman import utils, log_err, tr
File "C:\Users\JPS\AppData\Roaming\FreeCAD\Mod\FreeCAD_ExtMan\freecad\extman\utils\__init__.py", line 32, in <module>
from freecad.extman.sources import PackageInfo
File "C:\Users\JPS\AppData\Roaming\FreeCAD\Mod\FreeCAD_ExtMan\freecad\extman\sources\__init__.py", line 25, in <module>
import freecad.extman.utils as utils
AttributeError: module 'freecad.extman' has no attribute 'utils'
--------------------------------------------------------------------------------
Init: Initializing freecad.extman... failed
--------------------------------------------------------------------------------
Traceback (most recent call last):
File "<string>", line 150, in InitApplications
File "importlib\__init__.py", line 126, in import_module
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\Users\JPS\AppData\Roaming\FreeCAD\Mod\FreeCAD_ExtMan\freecad\extman\init_gui.py", line 27, in <module>
from freecad.extman.gui.browser import install_router, start_browser
File "C:\Users\JPS\AppData\Roaming\FreeCAD\Mod\FreeCAD_ExtMan\freecad\extman\gui\browser.py", line 25, in <module>
from freecad.extman.gui.controller import actions, message_handlers
File "C:\Users\JPS\AppData\Roaming\FreeCAD\Mod\FreeCAD_ExtMan\freecad\extman\gui\controller.py", line 28, in <module>
from freecad.extman import utils, log_err, tr
File "C:\Users\JPS\AppData\Roaming\FreeCAD\Mod\FreeCAD_ExtMan\freecad\extman\utils\__init__.py", line 32, in <module>
from freecad.extman.sources import PackageInfo
File "C:\Users\JPS\AppData\Roaming\FreeCAD\Mod\FreeCAD_ExtMan\freecad\extman\sources\__init__.py", line 25, in <module>
import freecad.extman.utils as utils
AttributeError: module 'freecad.extman' has no attribute 'utils'
--------------------------------------------------------------------------------
Init: Loading FreeCAD GUI
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.21325 (Git)
Build type: Release
Branch: master
Hash: 2cb9b147f13419f019f9808ace21d3d2ceae99c5
Python version: 3.6.8
Qt version: 5.12.1
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/United Kingdom (en_GB)
OS: Linux Mint 19.3 (X-Cinnamon/cinnamon)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.21349 (Git)
Build type: Unknown
Branch: master
Hash: 28222fe066b60ae5c99dce4e5b022d270cad250f
Python version: 3.6.9
Qt version: 5.9.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedKingdom (en_GB)
Edit: Added Linux info as error message is the same
Re: Add ons manager - development and bugs topic
Wow this is very weird. The utils package is there. I have the same linux config and it works in my environment. I will check on windowsSyres wrote: ↑Mon Jun 01, 2020 8:06 am
I deleted the old Wb in it's entirety and installed the new one but unfortunately the new version won't load, Report View output:
OS: Windows 7 SP 1 (6.1)Code: Select all
Init: Initializing freecad.extman During initialization the error "module 'freecad.extman' has no attribute 'utils'" occurred in freecad.extman
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.21325 (Git)
Build type: Release
Branch: master
Hash: 2cb9b147f13419f019f9808ace21d3d2ceae99c5
Python version: 3.6.8
Qt version: 5.12.1
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/United Kingdom (en_GB)
OS: Linux Mint 19.3 (X-Cinnamon/cinnamon)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.21349 (Git)
Build type: Unknown
Branch: master
Hash: 28222fe066b60ae5c99dce4e5b022d270cad250f
Python version: 3.6.9
Qt version: 5.9.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedKingdom (en_GB)
Edit: Added Linux info as error message is the same