[Checkins] SVN: five.grok/branches/regebro-grokcore.view/src/five/grok/ Moved templates to grokcore.view.

Lennart Regebro regebro at gmail.com
Fri Jul 18 06:45:16 EDT 2008


Log message for revision 88488:
  Moved templates to grokcore.view.
  

Changed:
  U   five.grok/branches/regebro-grokcore.view/src/five/grok/__init__.py
  U   five.grok/branches/regebro-grokcore.view/src/five/grok/components.py
  U   five.grok/branches/regebro-grokcore.view/src/five/grok/meta.py
  U   five.grok/branches/regebro-grokcore.view/src/five/grok/templatereg.py

-=-
Modified: five.grok/branches/regebro-grokcore.view/src/five/grok/__init__.py
===================================================================
--- five.grok/branches/regebro-grokcore.view/src/five/grok/__init__.py	2008-07-18 10:27:29 UTC (rev 88487)
+++ five.grok/branches/regebro-grokcore.view/src/five/grok/__init__.py	2008-07-18 10:45:15 UTC (rev 88488)
@@ -4,10 +4,10 @@
 from zope.component import adapts
 
 from grokcore.component import Adapter, MultiAdapter, GlobalUtility
-from grokcore.component.directive import context, name, provides
-from grokcore.component.decorators import subscribe
+from grokcore.component import context, name, provides, subscribe
+from grokcore.view.components import PageTemplate
 
-from five.grok.components import View, Model, PageTemplate, IGrokLayer, Skin
+from five.grok.components import View, Model, IGrokLayer, Skin
 from five.grok.directive import require, layer, template, templatedir
 
 # I don't know why this is necessary:

Modified: five.grok/branches/regebro-grokcore.view/src/five/grok/components.py
===================================================================
--- five.grok/branches/regebro-grokcore.view/src/five/grok/components.py	2008-07-18 10:27:29 UTC (rev 88487)
+++ five.grok/branches/regebro-grokcore.view/src/five/grok/components.py	2008-07-18 10:45:15 UTC (rev 88488)
@@ -27,103 +27,8 @@
 
 from grokcore.view.components import ViewMixin
 class View(ViewMixin, BrowserPage, Acquisition.Implicit):
-    pass    
-    
-class BaseTemplate(object):
-    """Any sort of page template"""
-
-    interface.implements(interfaces.ITemplate)
-
-    __grok_name__ = ''
-    __grok_location__ = ''
-
-    def __repr__(self):
-        return '<%s template in %s>' % (self.__grok_name__,
-                                        self.__grok_location__)
-
-    def _annotateGrokInfo(self, name, location):
-        self.__grok_name__ = name
-        self.__grok_location__ = location
-
-    def _initFactory(self, factory):
-        pass
-
-class GrokTemplate(BaseTemplate):
-    """A slightly more advanced page template
-
-    This provides most of what a page template needs and is a good base for
-    writing your own page template"""
-
-    def __init__(self, string=None, filename=None, _prefix=None):
-
-        # __grok_module__ is needed to make defined_locally() return True for
-        # inline templates
-        # XXX unfortunately using caller_module means that care must be taken
-        # when GrokTemplate is subclassed. You can not do a super().__init__
-        # for example.
-        self.__grok_module__ = martian.util.caller_module()
-
-        if not (string is None) ^ (filename is None):
-            raise AssertionError(
-                "You must pass in template or filename, but not both.")
-
-        if string:
-            self.setFromString(string)
-        else:
-            if _prefix is None:
-                module = sys.modules[self.__grok_module__]
-                _prefix = os.path.dirname(module.__file__)
-            self.setFromFilename(filename, _prefix)
-
-    def __repr__(self):
-        return '<%s template in %s>' % (self.__grok_name__,
-                                        self.__grok_location__)
-
-    def _annotateGrokInfo(self, name, location):
-        self.__grok_name__ = name
-        self.__grok_location__ = location
-
-    def _initFactory(self, factory):
-        pass
-
-    def namespace(self, view):
-        # By default use the namespaces that are defined as the
-        # default by the view implementation.
-        return view.default_namespace()
-
-    def getNamespace(self, view):
-        namespace = self.namespace(view)
-        namespace.update(view.namespace())
-        return namespace
-    
-class TrustedPageTemplate(TrustedAppPT, pagetemplate.PageTemplate):
     pass
 
-class TrustedFilePageTemplate(TrustedAppPT, pagetemplatefile.PageTemplateFile):
-    pass
-
-class PageTemplate(GrokTemplate):
-
-    def setFromString(self, string):
-        zpt = TrustedPageTemplate()
-        if martian.util.not_unicode_or_ascii(string):
-            raise ValueError("Invalid page template. Page templates must be "
-                             "unicode or ASCII.")
-        zpt.write(string)
-        self._template = zpt
-
-    def setFromFilename(self, filename, _prefix=None):
-        self._template = TrustedFilePageTemplate(filename, _prefix)
-
-    def _initFactory(self, factory):
-        factory.macros = self._template.macros
-
-    def render(self, view):
-        namespace = self.getNamespace(view)
-        template = self._template
-        namespace.update(template.pt_getContext())
-        return template.pt_render(namespace)
-    
 class IGrokLayer(interface.Interface):
     pass
 

Modified: five.grok/branches/regebro-grokcore.view/src/five/grok/meta.py
===================================================================
--- five.grok/branches/regebro-grokcore.view/src/five/grok/meta.py	2008-07-18 10:27:29 UTC (rev 88487)
+++ five.grok/branches/regebro-grokcore.view/src/five/grok/meta.py	2008-07-18 10:45:15 UTC (rev 88488)
@@ -112,9 +112,10 @@
     def grok(self, name, module, module_info, config, **kw):
         module.__grok_templates__ = templatereg.TemplateRegistry()
         return True
-
+    
+import grokcore.view
 class ModulePageTemplateGrokker(martian.InstanceGrokker):
-    martian.component(grok.components.BaseTemplate)
+    martian.component(grokcore.view.components.BaseTemplate)
     # this needs to happen before any other grokkers execute that actually
     # use the templates
     martian.priority(1000)

Modified: five.grok/branches/regebro-grokcore.view/src/five/grok/templatereg.py
===================================================================
--- five.grok/branches/regebro-grokcore.view/src/five/grok/templatereg.py	2008-07-18 10:27:29 UTC (rev 88487)
+++ five.grok/branches/regebro-grokcore.view/src/five/grok/templatereg.py	2008-07-18 10:45:15 UTC (rev 88488)
@@ -122,10 +122,11 @@
                                 "'render' method." %
                                 (component_name.title(), factory), factory)
 
+import grokcore.view
 class PageTemplateFileFactory(grok.GlobalUtility):
 
     grok.implements(grok.interfaces.ITemplateFileFactory)
     grok.name('pt')
 
     def __call__(self, filename, _prefix=None):
-        return grok.components.PageTemplate(filename=filename, _prefix=_prefix)
+        return grokcore.view.components.PageTemplate(filename=filename, _prefix=_prefix)



More information about the Checkins mailing list