[Checkins] SVN: megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss/ Change the KSSGrokker to use the new grokcore.component directives.

Jan-Jaap Driessen jdriessen at thehealthagency.com
Sun May 4 17:51:15 EDT 2008


Log message for revision 86424:
  Change the KSSGrokker to use the new grokcore.component directives. 
  
  

Changed:
  _U  megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss/
  A   megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss/CHANGES.txt
  U   megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss/buildout.cfg
  U   megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss/src/megrok/kss/__init__.py
  U   megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss/src/megrok/kss/meta.py

-=-

Property changes on: megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss
___________________________________________________________________
Name: svn:externals
   + grok svn://svn.zope.org/repos/main/grok/trunk


Added: megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss/CHANGES.txt
===================================================================
--- megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss/CHANGES.txt	                        (rev 0)
+++ megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss/CHANGES.txt	2008-05-04 21:51:15 UTC (rev 86424)
@@ -0,0 +1,15 @@
+megrok.kss changes
+******************
+
+0.2 (unreleased)
+=================
+
+Restructuring
+-------------
+
+* Change the KSSGrokker to use the new grokcore.component directives.
+
+0.1 (2008-04-30)
+================
+
+Initial release

Modified: megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss/buildout.cfg
===================================================================
--- megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss/buildout.cfg	2008-05-04 21:40:18 UTC (rev 86423)
+++ megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss/buildout.cfg	2008-05-04 21:51:15 UTC (rev 86424)
@@ -1,8 +1,8 @@
 [buildout]
-develop = . 
+develop = . grok
 parts = interpreter test
 find-links = http://download.zope.org/distribution/
-extends= http://grok.zope.org/releaseinfo/grok-0.12.cfg
+extends = grok/versions.cfg
 versions = versions
 
 [interpreter]
@@ -13,4 +13,4 @@
 [test]
 recipe = zc.recipe.testrunner
 eggs = megrok.kss
-defaults = ['--tests-pattern', '^f?tests$', '-v']
+defaults = ['--tests-pattern', '^f?tests$', '-v']
\ No newline at end of file

Modified: megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss/src/megrok/kss/__init__.py
===================================================================
--- megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss/src/megrok/kss/__init__.py	2008-05-04 21:40:18 UTC (rev 86423)
+++ megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss/src/megrok/kss/__init__.py	2008-05-04 21:51:15 UTC (rev 86424)
@@ -1 +1 @@
-from components import KSS
\ No newline at end of file
+from megrok.kss.components import KSS
\ No newline at end of file

Modified: megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss/src/megrok/kss/meta.py
===================================================================
--- megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss/src/megrok/kss/meta.py	2008-05-04 21:40:18 UTC (rev 86423)
+++ megrok.kss/branches/janjaapdriessen-grokcore.component-for-megrok.kss/src/megrok/kss/meta.py	2008-05-04 21:51:15 UTC (rev 86424)
@@ -1,3 +1,8 @@
+import martian
+
+import grok
+from grok.util import make_checker
+
 from zope import component
 from zope import interface
 from zope.publisher.browser import BrowserPage
@@ -3,21 +8,13 @@
 from zope.publisher.interfaces.browser import IDefaultBrowserLayer
 
-import martian
-from martian import util
+from megrok.kss.components import KSS
 
-from grok.util import get_default_permission, make_checker
-from grok.util import determine_class_directive
-
-from components import KSS
-
-
 class KSSGrokker(martian.ClassGrokker):
     component_class = KSS
 
     def grok(self, name, factory, module_info, config, **kw):
-        view_context = determine_class_directive('grok.view', factory,
-                                                 module_info)
-        methods = util.methods_from_class(factory)
-        default_permission = get_default_permission(factory)
+        view_context = grok.view.get(factory, module_info.getModule())
+        methods = martian.util.methods_from_class(factory)
+        default_permission = grok.require.get(factory)
 
         for method in methods:
@@ -33,24 +30,29 @@
             #view_name = util.class_annotation(factory, 'grok.name',
             #                                  factory_name)
 
-            method_view = type(factory.__name__, (factory, BrowserPage),
-                {'__view_name__': name})
+            method_view = type(
+                factory.__name__, (factory, BrowserPage),
+                {'__view_name__': name}
+                )
 
             adapts = (view_context, IDefaultBrowserLayer)
-            config.action(discriminator=('adapter', adapts,
-                              interface.Interface, name),
+            config.action(
+                discriminator=('adapter', adapts, interface.Interface, name),
                 callable=component.provideAdapter,
-                args=(method_view, adapts, interface.Interface, name))
+                args=(method_view, adapts, interface.Interface, name)
+                )
 
             # Protect method_view with either the permission that was
             # set on the method, the default permission from the class
             # level or zope.Public.
-            permission = getattr(method, '__grok_require__',
-                                 default_permission)
+            permission = grok.require.get(method)
+            if permission is None:
+                permission = default_permission
 
-            config.action(discriminator=('protectName', method_view,
-                               '__call__'),
+            config.action(
+                discriminator=('protectName', method_view, '__call__'),
                 callable=make_checker,
-                args=(factory, method_view, permission))
+                args=(factory, method_view, permission)
+                )
 
         return True



More information about the Checkins mailing list