I'm OK with using the XDG directory specification but dealing with the legacy directory may be problematic. I wonder in practice how many users it will actually effect? I'm guessing the number of users who have custom python scripts in ~/.kicad_plugins is fairly low.
On 6/12/2017 5:54 AM, Maciej Sumiński wrote: > 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 >> > > > > > _______________________________________________ > 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

