[Checkins] SVN: grok/trunk/doc/design/utility.py different idea about local utilities, by martijn

Philipp von Weitershausen philikon at philikon.de
Sat Jan 6 08:29:34 EST 2007


Log message for revision 71732:
  different idea about local utilities, by martijn
  

Changed:
  U   grok/trunk/doc/design/utility.py

-=-
Modified: grok/trunk/doc/design/utility.py
===================================================================
--- grok/trunk/doc/design/utility.py	2007-01-06 11:52:14 UTC (rev 71731)
+++ grok/trunk/doc/design/utility.py	2007-01-06 13:29:33 UTC (rev 71732)
@@ -1,14 +1,31 @@
 import grok
 
-class CalcApp(grok.App):
-    """calculator model that's also a site
-
-    whenever you create one of those, all local utilities will be
-    registered with it automatically.
-    """
-
-class Calculator(grok.Utility):
+class Calculator(grok.GlobalUtility):
     grok.implements(ICalculator)  # if this is not specified, it breaks
     grok.name('')  # this is actually the default
-    grok.register(site=CalcApp)  # register this only in calculator app sites
+    grok.utility_provides(ICalculator) # this is actually the default
 
+grok.global_utility(factory, provides=IFace, name=u'', setup=None)
+
+class Calculator(grok.LocalUtility):
+    grok.utility_provides(ICalculator)
+
+class Anything(grok.Model):
+    pass
+
+class NonPersistent(object):
+    pass
+
+class SpecialAnything(Anything):
+    pass
+
+class Foo(grok.Model, grok.Site):    
+    grok.local_utility(Anything, hide=False, name_in_container='foo',
+                       persistent=None)
+    grok.local_adapter()
+    grok.local_view()
+
+class Foo2(Foo):
+    grok.local_utility(SpecialAnything)
+
+    



More information about the Checkins mailing list