On Fri, Aug 20, 2010 at 1:57 AM, Martin Poirier <the...@yahoo.com> wrote: > > > --- On Thu, 8/19/10, Campbell Barton <ideasma...@gmail.com> wrote: > >> A simple solution to this is to have a package in cfg so >> scripts/cfg/blender_keyconfig/__init__.py >> scripts/cfg/blender_keyconfig/maya.py, etc >> ...this way only sys.modules["blender_keyconfig"] is added >> and the >> submodules can be added & removed without worrying >> about naming >> collisions. >> >> But thinking about this I wonder if its a good idea to load >> all key >> configurations on startup at all. Say we have 3-4 >> configurations, each >> are fairly big python scripts and run many functions to >> build a >> keyboard layout with operator properties. >> >> How about use a system similar to our presets, where the >> files in a >> directory are used to fill a menu, and the script runs only >> when >> selected by the user. >> A string can be saved for the active layout and this can >> run automatic >> on startup when set. > > If we go for a package, we get conditional load for free (importing a package > doesn't import submodules by default). > > We could just do dir(blender_keyconfig) to get a list of available configs > and import blender_keyconfig.ConfigA to initialize it. > > Martin
That's be ok, though I still prefer running the scripts and not importing them. Modules are better suited to cases where you need to keep the modules state in memory, and in our case where register()/unregister(). >From what I can tell a key config just executes a load of key configuration functions and quits so I don't see the need for modules. But if you think there are times when configurations will need to define operators/menus for eg, or make use of register/unregister functions then we're better going with modules. - Campbell _______________________________________________ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers