[Zope-Checkins] CVS: Zope3/lib/python/Zope/Publisher/Browser - metaConfigure.py:1.1.2.9
Jim Fulton
jim@zope.com
Mon, 14 Jan 2002 08:42:52 -0500
Update of /cvs-repository/Zope3/lib/python/Zope/Publisher/Browser
In directory cvs.zope.org:/tmp/cvs-serv29617/Publisher/Browser
Modified Files:
Tag: Zope-3x-branch
metaConfigure.py
Log Message:
Factored skin service from view service.
Made skins type-dependent. IOW, skins for Browsers are different from
skins for FTP.
Added resource components, which are to views as utilities are to
adapters. They provide interface-specific components that do not
extend or depend on some specific other component. Like views, they
are named and are specific to a particulat presentation type.
We nee resources to deal with things like images and style sheets.
Added tests for browser directives.
=== Zope3/lib/python/Zope/Publisher/Browser/metaConfigure.py 1.1.2.8 => 1.1.2.9 ===
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
-from Zope.ComponentArchitecture import provideView
+from Zope.ComponentArchitecture import provideView, defineSkin, provideResource
from Zope.Configuration.name import resolve
from IBrowserPublisher import IBrowserPublisher
@@ -31,3 +31,18 @@
(('view', for_, name, IBrowserPublisher, layer),
provideView, (for_, name, IBrowserPublisher, factory, layer)),
]
+
+def skin(name, layers):
+ layers = [layer.strip() for layer in layers.split(',')]
+ return [(
+ ('skin', name, IBrowserPublisher),
+ defineSkin, (name, IBrowserPublisher, layers)
+ )]
+
+def resource(component, name, layer=''):
+ type = IBrowserPublisher
+ component = resolve(component)
+ return [(
+ ('resource', name, type,layer),
+ provideResource, (name, type, component, layer)
+ )]