2929# scan for extensions to import and extend the specified class
3030# extensions are .py file with a name like <classname>-something.py e.g RMApp-extension.py
3131# the classes in the file are added as base classes to the extended class
32- # so it's dynamic mixins :-) A mixin may override existing methods
32+ # so it's dynamic mixins :-)
33+ # A mixin may override existing methods but the main aim is to add new methods for that class
3334def load_extensions ( * , path = None , folder = None ):
3435 path = path or os .getcwd ()
3536 folder = folder or "extensions"
36-
3737 # find public elmclient names+classes - these are extension points
3838 extendableclasses = {n :c for n ,c in inspect .getmembers (importlib .import_module ("elmclient" ), inspect .isclass ) }
3939
4040 # look for extension files
4141 searchdir = os .path .join ( path , folder )
42- if os .access ( searchdir , os .F_OK ):
42+ # print( f"Loading extensions from {searchdir=}" )
43+ if not os .access ( searchdir , os .F_OK ):
4344 # folder doesn't exist - nothing to load
4445 pass
4546 else :
@@ -64,8 +65,6 @@ def load_extensions( *, path=None, folder=None ):
6465 # add to bases
6566 extendedclass .__bases__ = (c ,)+ extendedclass .__bases__
6667
67-
68- # load any local extensions
69- load_extensions ( extendableclasses )
70-
68+ ## load any local extensions
69+ #load_extensions()
7170
0 commit comments