Speaking of Python scripts path - I wonder whether we should move it to $XDG_DATA_HOME/kicad/plugins, as we already try to conform to XDG base directory specification for configuration files.
I suppose we would have to keep ~/.kicad_plugins path during the transition process or automatically move the files for the user. Regards, Orson On 06/11/2017 11:19 PM, Simon Küppers wrote: > Hey guys, > There does not seem to be a lot of feedback. I guess I am rather early > to the pcbnew Python Plugin Party ;-) > > I have dug deeper into the code and found out, that the plugins are > actually pulled into python using 'import'. I was under the impression > that a python interpreter was instantiated each time a plugin was executed. > > This changed everything completely, I have found a good way to organize > the stuff (and I have done it here as an example: > https://github.com/skuep/kicad-plugins/tree/master). > > I am currently going with the following folder structure > + ~/.kicad_plugins/ > - action_plugin_a.py # some other plugin > - action_plugin_b.py # another one > + action_plugin_big/ # a big plugin in a folder > - plugin_big_action.py # containing the ActionPlugin class > - plugin_big.py # containing some more general stuff > - plugin_dialogs.py # containing generated dialogs > - __init__.py # containing the instantiation and register() > - __main__.py # optional. if available, plugin runs standalone > + resources/ > - some_other_stuff.png > > So everything looks good right now. It just has to be documented somewhere. > > Is there a place where documentation about the python plugins is > collected? Again, I hate when these informations are scattered in forums > or other peoples githubs... Also this looks unprofessional ;-) > > Best Regards! > Simon > > Am 09.06.2017 um 13:09 schrieb Simon Küppers: >> Hey guys, >> With my current work on python plugins for pcbnew, I noticed that you >> quickly want to go ahead and divide up your plugin into multiple >> subfiles (e.g. test_plugin.py, test_plugin_main_dialog.py, etc..) >> >> Right now, KiCad loads the python files from the hardcoded folders (one >> of them being ~/.kicad_plugins however it does not do it recursively. >> Thus it is not possible to organize the files in a subdirectory (e.g. >> test_plugin/). >> >> Another thing that I noticed (but did not confirm yet) is, that action >> plugins need actually have "action_" prepended to the .py file in order >> for them to load properly so that they are shown in the pcbnew menu. >> This is also on purpose right? >> >> I guess my proposal for a _consistent_ handling of python plugins in the >> future might be either >> 1) Make test_plugin/ subfolder and place all files into this >> subdirectory. KiCad recursively loads all plugins in the hardcoded >> directories >> >> 2) Make test_plugin/ subfolder and place all files into this >> subdirectory. When the user wants to use a plugin, he needs to create a >> relative link in the hardcoded directory to the corresponding entry-file >> in the test_plugin/ sub-directory. >> >> I am currently leaning towards the 2nd solution. But in order for it to >> be user friendly (also to those who arent computer savvy), each plugin >> needs some kind of installer to perform the copying and linking. I guess >> this solution is also more "linuxy" since I have seen this technique in >> a lot of different applications (e.g. munin plugins). >> >> What are your thoughts on that? >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~kicad-developers >> Post to : [email protected] >> Unsubscribe : https://launchpad.net/~kicad-developers >> More help : https://help.launchpad.net/ListHelp >> > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : [email protected] > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp >
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

