[Checkins] SVN: grok/trunk/ Grok now use grokcore.annotation instead of its own implementation.
Sylvain Viollon
sylvain at infrae.com
Fri Sep 18 04:44:15 EDT 2009
Log message for revision 104275:
Grok now use grokcore.annotation instead of its own implementation.
Changed:
U grok/trunk/setup.py
U grok/trunk/src/grok/__init__.py
U grok/trunk/src/grok/components.py
U grok/trunk/src/grok/configure.zcml
U grok/trunk/src/grok/interfaces.py
U grok/trunk/src/grok/meta.py
U grok/trunk/src/grok/meta.zcml
U grok/trunk/src/grok/testing.py
U grok/trunk/versions.cfg
-=-
Modified: grok/trunk/setup.py
===================================================================
--- grok/trunk/setup.py 2009-09-18 08:36:57 UTC (rev 104274)
+++ grok/trunk/setup.py 2009-09-18 08:44:14 UTC (rev 104275)
@@ -36,6 +36,7 @@
zip_safe=False,
install_requires=['setuptools',
'martian >= 0.10, < 0.12',
+ 'grokcore.annotation >= 1.1',
'grokcore.component >= 1.5, < 2.0',
'grokcore.formlib >= 1.4',
'grokcore.security >= 1.1',
Modified: grok/trunk/src/grok/__init__.py
===================================================================
--- grok/trunk/src/grok/__init__.py 2009-09-18 08:36:57 UTC (rev 104274)
+++ grok/trunk/src/grok/__init__.py 2009-09-18 08:44:14 UTC (rev 104275)
@@ -49,6 +49,8 @@
from grokcore.formlib import AutoFields
from grokcore.formlib import Fields
+from grokcore.annotation import Annotation
+
from zope.event import notify
from zope.app.component.hooks import getSite
from zope.lifecycleevent import (
@@ -75,7 +77,7 @@
from grok.components import XMLRPC, REST, JSON
from grok.components import Traverser
from grok.components import Container, OrderedContainer
-from grok.components import Site, LocalUtility, Annotation
+from grok.components import Site, LocalUtility
from grok.components import Application, Form, AddForm, EditForm, DisplayForm
from grok.components import Indexes
from grok.components import Role
Modified: grok/trunk/src/grok/components.py
===================================================================
--- grok/trunk/src/grok/components.py 2009-09-18 08:36:57 UTC (rev 104274)
+++ grok/trunk/src/grok/components.py 2009-09-18 08:44:14 UTC (rev 104275)
@@ -211,10 +211,6 @@
"""
-class Annotation(persistent.Persistent):
- """The base class for annotation classes in Grok applications."""
-
-
class View(grokcore.view.View):
"""The base class for views with templates in Grok applications.
Modified: grok/trunk/src/grok/configure.zcml
===================================================================
--- grok/trunk/src/grok/configure.zcml 2009-09-18 08:36:57 UTC (rev 104274)
+++ grok/trunk/src/grok/configure.zcml 2009-09-18 08:44:14 UTC (rev 104275)
@@ -9,7 +9,6 @@
<include package="zope.app.zcmlfiles" file="meta.zcml" />
<include package="grok" file="meta.zcml" />
- <include package="zope.annotation" />
<include package="zope.copypastemove" />
<include package="zope.contentprovider" />
<include package="zope.formlib" />
@@ -30,6 +29,7 @@
<include package="grokcore.view" />
<include package="grokcore.viewlet" />
<include package="grokcore.formlib" />
+ <include package="grokcore.annotation" />
<securityPolicy
component="zope.securitypolicy.zopepolicy.ZopeSecurityPolicy" />
Modified: grok/trunk/src/grok/interfaces.py
===================================================================
--- grok/trunk/src/grok/interfaces.py 2009-09-18 08:36:57 UTC (rev 104274)
+++ grok/trunk/src/grok/interfaces.py 2009-09-18 08:44:14 UTC (rev 104275)
@@ -19,6 +19,7 @@
from zope.app.container.interfaces import IContainer as IContainerBase
# Expose interfaces from grokcore.* packages as well:
+import grokcore.annotation.interfaces
import grokcore.component.interfaces
import grokcore.formlib.interfaces
import grokcore.security.interfaces
@@ -29,7 +30,8 @@
from grokcore.component.interfaces import IGrokErrors
-class IGrokBaseClasses(grokcore.component.interfaces.IBaseClasses,
+class IGrokBaseClasses(grokcore.annotation.interfaces.IBaseClasses,
+ grokcore.component.interfaces.IBaseClasses,
grokcore.security.interfaces.IBaseClasses,
grokcore.view.interfaces.IBaseClasses):
Model = interface.Attribute("Base class for persistent content objects "
@@ -38,7 +40,6 @@
OrderedContainer = interface.Attribute("Base class for ordered containers.")
Site = interface.Attribute("Mixin class for sites.")
Application = interface.Attribute("Base class for applications.")
- Annotation = interface.Attribute("Base class for persistent annotations.")
LocalUtility = interface.Attribute("Base class for local utilities.")
XMLRPC = interface.Attribute("Base class for XML-RPC methods.")
JSON = interface.Attribute("Base class for JSON methods.")
Modified: grok/trunk/src/grok/meta.py
===================================================================
--- grok/trunk/src/grok/meta.py 2009-09-18 08:36:57 UTC (rev 104274)
+++ grok/trunk/src/grok/meta.py 2009-09-18 08:44:14 UTC (rev 104275)
@@ -32,12 +32,9 @@
from zope.securitypolicy.interfaces import IRole
from zope.securitypolicy.rolepermission import rolePermissionManager
-from zope.annotation.interfaces import IAnnotations
-
from zope.app.publisher.xmlrpc import MethodPublisher
from zope.app.container.interfaces import IContainer
from zope.app.container.interfaces import INameChooser
-from zope.app.container.contained import contained
from zope.app.intid import IntIds
from zope.app.intid.interfaces import IIntIds
@@ -60,17 +57,6 @@
from grokcore.view.meta.views import default_fallback_to_name
-def default_annotation_provides(factory, module, **data):
- base_interfaces = interface.implementedBy(grok.Annotation)
- factory_interfaces = interface.implementedBy(factory)
- real_interfaces = list(factory_interfaces - base_interfaces)
- util.check_implements_one_from_list(real_interfaces, factory)
- return real_interfaces[0]
-
-def default_annotation_name(factory, module, **data):
- return factory.__module__ + '.' + factory.__name__
-
-
class XMLRPCGrokker(martian.MethodGrokker):
"""Grokker for methods of a `grok.XMLRPC` subclass.
@@ -386,39 +372,6 @@
return True
-class AnnotationGrokker(martian.ClassGrokker):
- """Grokker for components subclassed from `grok.Annotation`."""
- martian.component(grok.Annotation)
- martian.directive(grok.context, name='adapter_context')
- martian.directive(grok.provides, get_default=default_annotation_provides)
- martian.directive(grok.name, get_default=default_annotation_name)
-
- def execute(self, factory, config, adapter_context, provides, name, **kw):
- @component.adapter(adapter_context)
- @interface.implementer(provides)
- def getAnnotation(context):
- annotations = IAnnotations(context)
- try:
- result = annotations[name]
- except KeyError:
- result = factory()
- annotations[name] = result
-
- # Containment has to be set up late to allow containment
- # proxies to be applied, if needed. This does not trigger
- # an event and is idempotent if containment is set up
- # already.
- contained_result = contained(result, context, name)
- return contained_result
-
- config.action(
- discriminator=('adapter', adapter_context, provides, ''),
- callable=component.provideAdapter,
- args=(getAnnotation,),
- )
- return True
-
-
class ApplicationGrokker(martian.ClassGrokker):
"""Grokker for Grok application classes."""
martian.component(grok.Application)
Modified: grok/trunk/src/grok/meta.zcml
===================================================================
--- grok/trunk/src/grok/meta.zcml 2009-09-18 08:36:57 UTC (rev 104274)
+++ grok/trunk/src/grok/meta.zcml 2009-09-18 08:44:14 UTC (rev 104275)
@@ -11,6 +11,7 @@
<include package="grokcore.security" file="meta.zcml" />
<include package="grokcore.view" file="meta.zcml" />
<include package="grokcore.viewlet" file="meta.zcml" />
+ <include package="grokcore.annotation" file="meta.zcml" />
<grok:grok package=".meta" />
</configure>
Modified: grok/trunk/src/grok/testing.py
===================================================================
--- grok/trunk/src/grok/testing.py 2009-09-18 08:36:57 UTC (rev 104274)
+++ grok/trunk/src/grok/testing.py 2009-09-18 08:44:14 UTC (rev 104275)
@@ -47,6 +47,7 @@
zcml.do_grok('grokcore.view.templatereg', config)
zcml.do_grok('grokcore.viewlet.meta', config)
zcml.do_grok('grokcore.formlib.meta', config)
+ zcml.do_grok('grokcore.annotation.meta', config)
zcml.do_grok('grok.meta', config)
zcml.do_grok(module_name, config)
config.execute_actions()
Modified: grok/trunk/versions.cfg
===================================================================
--- grok/trunk/versions.cfg 2009-09-18 08:36:57 UTC (rev 104274)
+++ grok/trunk/versions.cfg 2009-09-18 08:44:14 UTC (rev 104275)
@@ -1,5 +1,6 @@
[versions]
ClientForm = 0.2.9
+grokcore.annotation = 1.1
grokcore.component = 1.7
grokcore.formlib = 1.4
grokcore.security = 1.2
More information about the checkins
mailing list