[Checkins] SVN: z3ext.layout/trunk/ - Log errors in @@pagelet
Nikolay Kim
fafhrd at datacom.kz
Tue Oct 14 06:17:57 EDT 2008
Log message for revision 92186:
- Log errors in @@pagelet
- Default css styles
Changed:
U z3ext.layout/trunk/CHANGES.txt
U z3ext.layout/trunk/src/z3ext/layout/configure.zcml
U z3ext.layout/trunk/src/z3ext/layout/interfaces.py
U z3ext.layout/trunk/src/z3ext/layout/layoutportal.pt
U z3ext.layout/trunk/src/z3ext/layout/pagelet.py
U z3ext.layout/trunk/src/z3ext/layout/pagelet.txt
A z3ext.layout/trunk/src/z3ext/layout/styles.css
A z3ext.layout/trunk/src/z3ext/layout/styles.zcml
-=-
Modified: z3ext.layout/trunk/CHANGES.txt
===================================================================
--- z3ext.layout/trunk/CHANGES.txt 2008-10-14 05:19:58 UTC (rev 92185)
+++ z3ext.layout/trunk/CHANGES.txt 2008-10-14 10:17:55 UTC (rev 92186)
@@ -2,14 +2,16 @@
CHANGES
=======
-1.5.1 (2008-10-??)
+1.5.1 (2008-10-14)
------------------
- Fixed missing NotFount in @@pagelet
- Log errors in @@pagelet
+- Default css styles
+
1.5.0 (2008-10-06)
------------------
Modified: z3ext.layout/trunk/src/z3ext/layout/configure.zcml
===================================================================
--- z3ext.layout/trunk/src/z3ext/layout/configure.zcml 2008-10-14 05:19:58 UTC (rev 92185)
+++ z3ext.layout/trunk/src/z3ext/layout/configure.zcml 2008-10-14 10:17:55 UTC (rev 92186)
@@ -2,13 +2,13 @@
xmlns="http://namespaces.zope.org/zope"
xmlns:zcml="http://namespaces.zope.org/zcml"
xmlns:z3ext="http://namespaces.zope.org/z3ext"
- i18n_domain="z3ext">
+ i18n_domain="z3ext.layout">
<includeDependencies package="z3ext.layout" />
<!-- adapter provides IPagelet for (context, request) -->
<adapter factory=".pagelet.queryPagelet" />
-
+
<!-- @@pagelet view -->
<adapter
name="pagelet"
@@ -64,4 +64,6 @@
parent="z3ext" />
</configure>
+ <include file="styles.zcml" />
+
</configure>
Modified: z3ext.layout/trunk/src/z3ext/layout/interfaces.py
===================================================================
--- z3ext.layout/trunk/src/z3ext/layout/interfaces.py 2008-10-14 05:19:58 UTC (rev 92185)
+++ z3ext.layout/trunk/src/z3ext/layout/interfaces.py 2008-10-14 10:17:55 UTC (rev 92186)
@@ -40,6 +40,10 @@
"""Render the pagelet content w/o o-wrap."""
+class IPageletType(interface.interfaces.IInterface):
+ """ pagelet interface type """
+
+
class ILayout(IBrowserPage):
""" layout """
Modified: z3ext.layout/trunk/src/z3ext/layout/layoutportal.pt
===================================================================
--- z3ext.layout/trunk/src/z3ext/layout/layoutportal.pt 2008-10-14 05:19:58 UTC (rev 92185)
+++ z3ext.layout/trunk/src/z3ext/layout/layoutportal.pt 2008-10-14 10:17:55 UTC (rev 92186)
@@ -1,13 +1,13 @@
<metal:block metal:use-macro="context/@@standard_macros/page">
- <div id="z3ext-portal" metal:fill-slot="columns">
+ <div id="z-portal" metal:fill-slot="columns">
<tal:block tal:content="structure provider:statusMessage" />
<tal:block tal:content="structure view/render" />
</div>
- <div id="z3ext-portal" metal:fill-slot="workspace">
+ <div id="z-portal" metal:fill-slot="workspace">
<tal:block tal:content="structure provider:statusMessage" />
<tal:block tal:content="structure view/render" />
</div>
- <div id="z3ext-portal" metal:fill-slot="body">
+ <div id="z-portal" metal:fill-slot="body">
<tal:block tal:content="structure provider:statusMessage" />
<tal:block tal:content="structure view/render" />
</div>
Modified: z3ext.layout/trunk/src/z3ext/layout/pagelet.py
===================================================================
--- z3ext.layout/trunk/src/z3ext/layout/pagelet.py 2008-10-14 05:19:58 UTC (rev 92185)
+++ z3ext.layout/trunk/src/z3ext/layout/pagelet.py 2008-10-14 10:17:55 UTC (rev 92186)
@@ -17,6 +17,7 @@
"""
import logging, sys
from zope import interface, component
+from zope.component import queryUtility
from zope.component import queryMultiAdapter
from zope.publisher.browser import BrowserPage
from zope.publisher.interfaces import NotFound
@@ -25,7 +26,7 @@
from zope.pagetemplate.interfaces import IPageTemplate
from zope.app.publisher.browser import queryDefaultViewName
-from z3ext.layout.interfaces import IPagelet, ILayout
+from z3ext.layout.interfaces import IPagelet, IPageletType, ILayout
@interface.implementer(IPagelet)
@@ -107,16 +108,20 @@
def publishTraverse(self, request, name):
try:
return self[name]
- except Exception, err:
- log = logging.getLogger('z3ext.content')
- log.exception(err)
+ except KeyError:
+ pass
raise NotFound(self.context, name, request)
def __getitem__(self, name):
if name:
- iface, name = name.rsplit('.', 1)
- iface = getattr(self.modules[iface], name)
+ iface = queryUtility(IPageletType, name)
+ if iface is None:
+ try:
+ iface, iname = name.rsplit('.', 1)
+ iface = getattr(self.modules[iface], iname)
+ except:
+ raise KeyError(name)
else:
iface = IPagelet
@@ -126,7 +131,7 @@
view.update()
return view.render()
except Exception, err:
- log = logging.getLogger('z3ext.content')
+ log = logging.getLogger('z3ext.layout')
log.exception(err)
raise KeyError(name)
Modified: z3ext.layout/trunk/src/z3ext/layout/pagelet.txt
===================================================================
--- z3ext.layout/trunk/src/z3ext/layout/pagelet.txt 2008-10-14 05:19:58 UTC (rev 92185)
+++ z3ext.layout/trunk/src/z3ext/layout/pagelet.txt 2008-10-14 10:17:55 UTC (rev 92186)
@@ -246,8 +246,11 @@
... template="%s"
... provides="z3ext.layout.TESTS.IMyPagelet2"
... permission="zope.Public" />
+ ... <z3ext:pagelet
+ ... template="%s"
+ ... permission="zope.Public" />
... </configure>
- ... """%(template, template2), context)
+ ... """%(template, template2, template2), context)
>>> pagelet = component.queryMultiAdapter(
... (object(), TestRequest()), ITestPagelet)
@@ -264,10 +267,34 @@
>>> pagelet.render()
u'<div>My pagelet2</div>'
+
Access nameless pagelet from view
>>> pagelet = component.getMultiAdapter((object(), request), name='pagelet')
>>> print pagelet.publishTraverse(
+ ... request, 'test.unknown')
+ Traceback (most recent call last):
+ ...
+ NotFound: Object: ..., name: 'test.unknown'
+
+ >>> pagelet.browserDefault(request)
+ (..., ('',))
+
+by default IPagelet
+
+ >>> print pagelet.publishTraverse(request, '')
+ <div>My pagelet2</div>
+
+ >>> print pagelet.publishTraverse(
... request, 'z3ext.layout.tests.ITestPagelet')
<div>My pagelet</div>
+
+We can register our marker interface as named utility and use name
+instead of full module path
+
+ >>> component.provideUtility(
+ ... ITestPagelet, z3ext.layout.interfaces.IPageletType, name='testPageletType')
+
+ >>> print pagelet.publishTraverse(request, 'testPageletType')
+ <div>My pagelet</div>
Added: z3ext.layout/trunk/src/z3ext/layout/styles.css
===================================================================
--- z3ext.layout/trunk/src/z3ext/layout/styles.css (rev 0)
+++ z3ext.layout/trunk/src/z3ext/layout/styles.css 2008-10-14 10:17:55 UTC (rev 92186)
@@ -0,0 +1,88 @@
+/* zrt-cssregistry: */
+
+ at media all {
+
+ .z-page, .page {
+ padding: 1.5em;
+ border: borderWidth borderStyle globalBorderColor;
+ border-top: borderWidth borderStyle globalBorderColor;
+ background-color: globalBackgroundColor;
+ font-size: 100%;
+ }
+
+ .z-page h1 {
+ padding-top: 0;
+ }
+
+ .z-page h4 {
+ border-bottom: borderWidth borderStyle globalBorderColor;
+ }
+
+ .z-page legend {
+ background-color: transparent;
+ }
+
+ .z-page-description,
+ .pageDescription {
+ color: discreetColor;
+ font-size: fontSmallSize;
+ font-weight: normal;
+ margin-bottom: 1.5em;
+ }
+
+ .z-frame, .z-topframe,
+ .frame, .topframe {
+ padding: 1em;
+ margin-top: 1em;
+ background: contentBackgroundColor;
+ border: borderWidth borderStyle globalExtraBorderColor;
+ }
+
+ .z-topframe, .topframe {
+ margin-top: 0em;
+ }
+
+ .z-frame h4 {
+ border-bottom: borderWidth borderStyle globalExtraBorderColor;
+ font-weight: normal;
+ }
+
+ #z-portal {
+ background-color: contentBackgroundColor;
+ }
+
+ #z-portal-workspace {
+ margin: 2em 1.5em 1.5em 1.5em;
+ }
+
+ #z-portal-workspace {
+ font-size: 110%;
+ background: contentBackgroundColor;
+ }
+
+ #z-portal-workspace h1 {
+ font-size: 120%;
+ font-weight: bold;
+ }
+
+ #z-portal-workspace h2 {
+ font-size: 110%;
+ }
+
+ #z-portal-workspace h3 {
+ font-size: 100%;
+ }
+
+ #z-portal-workspace h5,
+ #z-portal-workspace h6 {
+ color: discreetColor;
+ }
+
+}
+
+ at media print {
+ .z-page-description,
+ .pageDescription {
+ font-weight: normal;
+ }
+}
Added: z3ext.layout/trunk/src/z3ext/layout/styles.zcml
===================================================================
--- z3ext.layout/trunk/src/z3ext/layout/styles.zcml (rev 0)
+++ z3ext.layout/trunk/src/z3ext/layout/styles.zcml 2008-10-14 10:17:55 UTC (rev 92186)
@@ -0,0 +1,17 @@
+<configure
+ xmlns="http://namespaces.zope.org/zope"
+ xmlns:zcml="http://namespaces.zope.org/zcml"
+ xmlns:z3ext="http://namespaces.zope.org/z3ext"
+ zcml:condition="installed z3ext.resourcepackage">
+
+ <include package="z3ext.resourcepackage" file="meta.zcml" />
+ <include package="z3ext.resourcepackage" />
+
+ <!-- styles -->
+ <z3ext:resourceinclude
+ name="z3ext-layout.css"
+ library="z3ext"
+ type="stylesheet"
+ file="styles.css" filetype="zrt" />
+
+</configure>
More information about the Checkins
mailing list