[Checkins] SVN: grokapps/rdbexample/branches/declarative-directives/megrok.rdb/src/megrok/rdb/ Adapt class grokker to use declarative directives and change other uses of

Philipp von Weitershausen philikon at philikon.de
Thu May 15 04:05:39 EDT 2008


Log message for revision 86768:
  Adapt class grokker to use declarative directives and change other uses of
  directives to call bind() before get().
  

Changed:
  U   grokapps/rdbexample/branches/declarative-directives/megrok.rdb/src/megrok/rdb/components.py
  U   grokapps/rdbexample/branches/declarative-directives/megrok.rdb/src/megrok/rdb/meta.py

-=-
Modified: grokapps/rdbexample/branches/declarative-directives/megrok.rdb/src/megrok/rdb/components.py
===================================================================
--- grokapps/rdbexample/branches/declarative-directives/megrok.rdb/src/megrok/rdb/components.py	2008-05-15 08:02:43 UTC (rev 86767)
+++ grokapps/rdbexample/branches/declarative-directives/megrok.rdb/src/megrok/rdb/components.py	2008-05-15 08:05:39 UTC (rev 86768)
@@ -34,7 +34,7 @@
     implements(IContainer)
 
     def __init__(self, *args, **kw):
-        rdb_key = directive.key.get(self)
+        rdb_key = directive.key.bind().get(self)
         if rdb_key:
             keyfunc = lambda node:getattr(node, rdb_key)
         elif hasattr(self, 'keyfunc'):

Modified: grokapps/rdbexample/branches/declarative-directives/megrok.rdb/src/megrok/rdb/meta.py
===================================================================
--- grokapps/rdbexample/branches/declarative-directives/megrok.rdb/src/megrok/rdb/meta.py	2008-05-15 08:02:43 UTC (rev 86767)
+++ grokapps/rdbexample/branches/declarative-directives/megrok.rdb/src/megrok/rdb/meta.py	2008-05-15 08:05:39 UTC (rev 86768)
@@ -6,10 +6,12 @@
 
 class ContainerGrokker(martian.ClassGrokker):
     component_class = megrok.rdb.Container
+    directives = [
+        directive.key.bind(),
+        ]
 
-    def grok(self, name, factory, module_info, config, **kw):
-        rdb_key = directive.key.get(factory)
-        if rdb_key and hasattr(factory, 'keyfunc'):
+    def execute(self, factory, config, key, **kw):
+        if key and hasattr(factory, 'keyfunc'):
             raise GrokError(
                 "It is not allowed to specify a custom 'keyfunc' method "
                 "for rdb.Container %r, when a rdb.key directive has also "



More information about the Checkins mailing list