[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