[Checkins] SVN: grok/trunk/src/grok/meta.py refactor more code into
common functions.
Martijn Faassen
faassen at infrae.com
Thu Jan 24 07:38:27 EST 2008
Log message for revision 83159:
refactor more code into common functions.
Changed:
U grok/trunk/src/grok/meta.py
-=-
Modified: grok/trunk/src/grok/meta.py
===================================================================
--- grok/trunk/src/grok/meta.py 2008-01-24 12:30:38 UTC (rev 83158)
+++ grok/trunk/src/grok/meta.py 2008-01-24 12:38:26 UTC (rev 83159)
@@ -61,6 +61,11 @@
def get_name(factory, default=''):
return grok.util.class_annotation(factory, 'grok.name', default)
+def get_provides(factory):
+ provides = util.class_annotation(factory, 'grok.provides', None)
+ if provides is None:
+ util.check_implements_one(factory)
+ return provides
class ContextGrokker(martian.GlobalGrokker):
@@ -79,9 +84,7 @@
def grok(self, name, factory, module_info, config, **kw):
adapter_context = get_context(module_info, factory)
- provides = util.class_annotation(factory, 'grok.provides', None)
- if provides is None:
- util.check_implements_one(factory)
+ provides = get_provides(factory)
name = get_name(factory)
config.action(
@@ -95,9 +98,7 @@
component_class = grok.MultiAdapter
def grok(self, name, factory, module_info, config, **kw):
- provides = util.class_annotation(factory, 'grok.provides', None)
- if provides is None:
- util.check_implements_one(factory)
+ provides = get_provides(factory)
check_adapts(factory)
name = get_name(factory)
for_ = component.adaptedBy(factory)
@@ -118,9 +119,7 @@
priority = 1100
def grok(self, name, factory, module_info, config, **kw):
- provides = util.class_annotation(factory, 'grok.provides', None)
- if provides is None:
- util.check_implements_one(factory)
+ provides = get_provides(factory)
name = get_name(factory)
direct = util.class_annotation(factory, 'grok.direct', False)
if not direct:
@@ -710,6 +709,8 @@
def grok(self, name, factory, module_info, config, **kw):
adapter_context = get_context(module_info, factory)
+ # XXX cannot use get_provides here, can we refactor others to reuse
+ # this bit?
provides = util.class_annotation(factory, 'grok.provides', None)
if provides is None:
base_interfaces = interface.implementedBy(grok.Annotation)
More information about the Checkins
mailing list