[Z3lab-checkins] r3573 - cpsskins/branches/paris-sprint-2006/standard/filters/style

2006-06-30 Thread jmorliaguet
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

2006-06-30 Thread jmorliaguet
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

2006-06-30 Thread jmorliaguet
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

2006-06-30 Thread jmorliaguet
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

2006-06-30 Thread jmorliaguet
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