[Checkins] SVN: martian/trunk/src/martian/util.py Add a utility function to scan for classes in a module.

Martijn Faassen faassen at infrae.com
Tue Jun 19 12:39:32 EDT 2007


Log message for revision 76797:
  Add a utility function to scan for classes in a module.
  

Changed:
  U   martian/trunk/src/martian/util.py

-=-
Modified: martian/trunk/src/martian/util.py
===================================================================
--- martian/trunk/src/martian/util.py	2007-06-19 16:16:28 UTC (rev 76796)
+++ martian/trunk/src/martian/util.py	2007-06-19 16:39:32 UTC (rev 76797)
@@ -112,6 +112,21 @@
                         % class_, class_)
 
 
+def scan_for_classes(module, classes):
+    """Given a module, scan for classes.
+    """
+    result = []
+    for name in dir(module):
+        if name.startswith('__grok_'):
+            continue
+        obj = getattr(module, name)
+        if not defined_locally(obj, module.__name__):
+            continue
+        for class_ in classes:
+            if check_subclass(obj, class_):
+                result.append(obj)
+    return result
+
 def determine_module_context(module_info, models):
     if len(models) == 0:
         context = None



More information about the Checkins mailing list