[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