29
29
# scan for extensions to import and extend the specified class
30
30
# extensions are .py file with a name like <classname>-something.py e.g RMApp-extension.py
31
31
# 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
33
34
def load_extensions ( * , path = None , folder = None ):
34
35
path = path or os .getcwd ()
35
36
folder = folder or "extensions"
36
-
37
37
# find public elmclient names+classes - these are extension points
38
38
extendableclasses = {n :c for n ,c in inspect .getmembers (importlib .import_module ("elmclient" ), inspect .isclass ) }
39
39
40
40
# look for extension files
41
41
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 ):
43
44
# folder doesn't exist - nothing to load
44
45
pass
45
46
else :
@@ -64,8 +65,6 @@ def load_extensions( *, path=None, folder=None ):
64
65
# add to bases
65
66
extendedclass .__bases__ = (c ,)+ extendedclass .__bases__
66
67
67
-
68
- # load any local extensions
69
- load_extensions ( extendableclasses )
70
-
68
+ ## load any local extensions
69
+ #load_extensions()
71
70
0 commit comments