[Z3lab-checkins] r3573 - cpsskins/branches/paris-sprint-2006/standard/filters/style
Author: jmorliaguet Date: Fri Jun 30 10:33:33 2006 New Revision: 3573 Modified: cpsskins/branches/paris-sprint-2006/standard/filters/style/__init__.py Log: - added assertion for debugging Modified: cpsskins/branches/paris-sprint-2006/standard/filters/style/__init__.py == --- cpsskins/branches/paris-sprint-2006/standard/filters/style/__init__.py (original) +++ cpsskins/branches/paris-sprint-2006/standard/filters/style/__init__.py Fri Jun 30 10:33:33 2006 @@ -40,5 +40,6 @@ def __call__(self, markup, info): Apply the style to the markup. +assert isinstance(markup, basestring), style filter: string required return utils.insertCSSClass(markup, str(ICSSRenderer(self.context))) -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins
[Z3lab-checkins] r3574 - cpsskins/branches/paris-sprint-2006/browser/rendering
Author: jmorliaguet Date: Fri Jun 30 15:09:26 2006 New Revision: 3574 Modified: cpsskins/branches/paris-sprint-2006/browser/rendering/renderer.py Log: - optimization Modified: cpsskins/branches/paris-sprint-2006/browser/rendering/renderer.py == --- cpsskins/branches/paris-sprint-2006/browser/rendering/renderer.py (original) +++ cpsskins/branches/paris-sprint-2006/browser/rendering/renderer.py Fri Jun 30 15:09:26 2006 @@ -80,6 +80,7 @@ engine = info.rendering.engine relations = info.rendering.relations +resources = info.rendering.resources # look for renderers associated to the element's content type type = IType(element) @@ -125,8 +126,7 @@ # the adapted object is a URI which must be resolved if isinstance(adapted, basestring): -uri = adapted -adapted = info.rendering.resources.resolve(uri, element) +adapted = resources.resolve(adapted, element) # get the adapter filter = queryMultiAdapter((adapted,), IFilterView, -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins
[Z3lab-checkins] r3575 - in cpsskins/branches/paris-sprint-2006: configuration/widgets standard/filters/widget
Author: jmorliaguet Date: Fri Jun 30 15:10:10 2006 New Revision: 3575 Modified: cpsskins/branches/paris-sprint-2006/configuration/widgets/metaconfigure.py cpsskins/branches/paris-sprint-2006/standard/filters/widget/__init__.py Log: - register the basic widget view correctly Modified: cpsskins/branches/paris-sprint-2006/configuration/widgets/metaconfigure.py == --- cpsskins/branches/paris-sprint-2006/configuration/widgets/metaconfigure.py (original) +++ cpsskins/branches/paris-sprint-2006/configuration/widgets/metaconfigure.py Fri Jun 30 15:10:10 2006 @@ -46,7 +46,8 @@ widget_name = '%s-%s' % (engine, name) if basic: -classImplements(view, IBasicWidgetView) +adapter(_context=_context, factory=(view,), provides=IBasicWidgetView, +for_=(for_, IBrowserRequest)) # register widgets utility(_context=_context, provides=configuration.IWidget, Modified: cpsskins/branches/paris-sprint-2006/standard/filters/widget/__init__.py == --- cpsskins/branches/paris-sprint-2006/standard/filters/widget/__init__.py (original) +++ cpsskins/branches/paris-sprint-2006/standard/filters/widget/__init__.py Fri Jun 30 15:10:10 2006 @@ -80,12 +80,11 @@ Falling back to the basic widget view., repr(info.element), repr(data)) -factory = queryMultiAdapter(objects=(data, request), -interface=IBasicWidgetView) +factory = queryMultiAdapter((data, request), IBasicWidgetView) if factory is None: logger.warning(No basic widget view found for '%s'., -repr(info.element)) + repr(info.element)) return markup markup = factory(markup=markup, info=info) -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins
[Z3lab-checkins] r3576 - in cpsskins/branches/paris-sprint-2006: standard/filters/widget ui/screens ui/screens/contentauthor/filters
Author: jmorliaguet Date: Fri Jun 30 15:10:52 2006 New Revision: 3576 Modified: cpsskins/branches/paris-sprint-2006/standard/filters/widget/widgets.py cpsskins/branches/paris-sprint-2006/ui/screens/contentauthor/filters/slot.pt cpsskins/branches/paris-sprint-2006/ui/screens/definitions.py Log: - UI updates (slots) - updated the HTML widget preview markup Modified: cpsskins/branches/paris-sprint-2006/standard/filters/widget/widgets.py == --- cpsskins/branches/paris-sprint-2006/standard/filters/widget/widgets.py (original) +++ cpsskins/branches/paris-sprint-2006/standard/filters/widget/widgets.py Fri Jun 30 15:10:52 2006 @@ -67,13 +67,19 @@ class PlainHTML(WidgetView): Display the markup with minimal formatting -preview = u'div' \ - 'h1 label=H1Header level 1/h1' \ - 'h2 label=H2Header level 2/h2' \ - 'h3 label=H3Header level 3/h3' \ - 'h4 label=H4Header level 4/h4' \ - 'p label=paragraphSome paragraph/p' \ - '/div' +preview = udiv + h1 label=H1Header level 1/h1 + h2 label=H2Header level 2/h2 + h3 label=H3Header level 3/h3 + h4 label=H4Header level 4/h4 + p label=paragraphSome paragraph/p + a href= label=linkA link/a + ul label=unordered list + liList item 1/li + liList item 2/li + /ul + /div + def __call__(self, markup, info, **kw): return 'div%s/div' % markup Modified: cpsskins/branches/paris-sprint-2006/ui/screens/contentauthor/filters/slot.pt == --- cpsskins/branches/paris-sprint-2006/ui/screens/contentauthor/filters/slot.pt (original) +++ cpsskins/branches/paris-sprint-2006/ui/screens/contentauthor/filters/slot.pt Fri Jun 30 15:10:52 2006 @@ -1,3 +1,7 @@ +ins class=model + tal:define=info options/info; model nocall:context/@@getModelInfo + tal:content=python: model(info) / + tal:block define= markup options/markup; slot_title context/title; Modified: cpsskins/branches/paris-sprint-2006/ui/screens/definitions.py == --- cpsskins/branches/paris-sprint-2006/ui/screens/definitions.py (original) +++ cpsskins/branches/paris-sprint-2006/ui/screens/definitions.py Fri Jun 30 15:10:52 2006 @@ -359,7 +359,7 @@ 'type': 'panel', }, 'model': 'page-mode-selector', -'perspectives': ['page-designer', 'content-author'], +'perspectives': ['page-designer'], 'controllers': ['main-editor-perspectives'], }, -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins
[Z3lab-checkins] r3578 - in cpsskins/branches/paris-sprint-2006: . standard/negotiation
Author: jmorliaguet Date: Fri Jun 30 21:53:52 2006 New Revision: 3578 Modified: cpsskins/branches/paris-sprint-2006/standard/negotiation/page.py cpsskins/branches/paris-sprint-2006/standard/negotiation/perspective.py cpsskins/branches/paris-sprint-2006/utils.py Log: - added a guessPath function to guess the relative path + the method name from the context and the request Modified: cpsskins/branches/paris-sprint-2006/standard/negotiation/page.py == --- cpsskins/branches/paris-sprint-2006/standard/negotiation/page.py (original) +++ cpsskins/branches/paris-sprint-2006/standard/negotiation/page.pyFri Jun 30 21:53:52 2006 @@ -19,8 +19,6 @@ from zope.component import queryUtility from zope.interface import implements -from zope.traversing.api import getPath -from zope.traversing.interfaces import IPhysicallyLocatable from cpsskins.browser.negotiation.scheme import NegotiationScheme from cpsskins.elements.interfaces import IThemePage @@ -31,6 +29,7 @@ from cpsskins.standard.negotiation import IContextNegotiationScheme from cpsskins.standard.negotiation import ILocationNegotiationScheme from cpsskins.standard.negotiation import ICookieLocationNegotiationScheme +from cpsskins.utils import guessPath class QueryParameter(NegotiationScheme): Look for a page whose name is passed as a URL query parameter: @@ -89,10 +88,7 @@ implements(ILocationNegotiationScheme) def __call__(self): -context = self.context -nearest_site = IPhysicallyLocatable(context).getNearestSite() -path_info = self.request['PATH_INFO'] -path = path_info[len(getPath(nearest_site)):] +path = guessPath(self.context, self.request) location = self.manager.getLocation(path, root=u'pages') if location is not None: page_name = location() Modified: cpsskins/branches/paris-sprint-2006/standard/negotiation/perspective.py == --- cpsskins/branches/paris-sprint-2006/standard/negotiation/perspective.py (original) +++ cpsskins/branches/paris-sprint-2006/standard/negotiation/perspective.py Fri Jun 30 21:53:52 2006 @@ -26,6 +26,7 @@ from cpsskins.standard.negotiation import ISessionNegotiationScheme from cpsskins.standard.negotiation import ILocationNegotiationScheme from cpsskins.standard.negotiation import ICookieLocationNegotiationScheme +from cpsskins.utils import guessPath class Location(NegotiationScheme): Look for a perspective among locations. The path is obtained from @@ -34,9 +35,7 @@ implements(ILocationNegotiationScheme) def __call__(self): -context = self.context -nearest_site = IPhysicallyLocatable(context).getNearestSite() -path = getPath(context)[len(getPath(nearest_site)):] +path = guessPath(self.context, self.request) location = self.manager.getLocation(path, root=u'perspectives') if location is not None: return location() Modified: cpsskins/branches/paris-sprint-2006/utils.py == --- cpsskins/branches/paris-sprint-2006/utils.py(original) +++ cpsskins/branches/paris-sprint-2006/utils.pyFri Jun 30 21:53:52 2006 @@ -22,7 +22,8 @@ from zope.component import getSiteManager, getGlobalSiteManager from zope.location.pickling import locationCopy from zope.security.proxy import removeSecurityProxy -from zope.traversing.api import getParent +from zope.traversing.api import getParent, getPath +from zope.traversing.interfaces import IPhysicallyLocatable startTag = re.compile('.*?') classAttr = re.compile(' class=(.*?)') @@ -120,6 +121,15 @@ res.append(part) return u''.join(res) +def guessPath(context, request): +path = getPath(context) + u'/' +uri = request['REQUEST_URI'] +pos = uri.find(path) +if pos 0: +path = uri[pos:] +nearest_site = IPhysicallyLocatable(context).getNearestSite() +return path[len(getPath(nearest_site)):] + def insertCSSClass(markup, css_class): Insert a CSS class in the first tag of some HTML markup. -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins