# HG changeset patch # User Thierry Florac # Date 1532013590 -7200 # Node ID 17c1149151aad37ac80008db5825d9d6e6b2c27d # Parent 62633f571e53f1e23abd5c997e2682d186fd8a3a Added renderer resources diff -r 62633f571e53 -r 17c1149151aa src/pyams_content/features/renderer/interfaces/__init__.py --- a/src/pyams_content/features/renderer/interfaces/__init__.py Thu Jul 19 17:14:24 2018 +0200 +++ b/src/pyams_content/features/renderer/interfaces/__init__.py Thu Jul 19 17:19:50 2018 +0200 @@ -39,9 +39,14 @@ """Content renderer interface""" label = Attribute("Renderer label") - weight = Attribute("Renderer weight") - settings_interface = Attribute("Renderer target interface") + weight = Attribute("Renderer weight, used for ordering") + + settings_interface = Attribute("Renderer settings interface") + resources = Attribute("Iterable of needed Fanstatic resources") + language = Attribute("Renderer language (if forced)") + context_attrs = Attribute("Context attributes defined into renderer") + i18n_context_attrs = Attribute("I18n context attributes defined into renderer") class ISharedContentRenderer(IContentRenderer): diff -r 62633f571e53 -r 17c1149151aa src/pyams_content/features/renderer/skin/__init__.py --- a/src/pyams_content/features/renderer/skin/__init__.py Thu Jul 19 17:14:24 2018 +0200 +++ b/src/pyams_content/features/renderer/skin/__init__.py Thu Jul 19 17:19:50 2018 +0200 @@ -36,7 +36,9 @@ label = None weight = 0 + settings_interface = None + resources = () language = None context_attrs = () @@ -49,6 +51,8 @@ return IRendererSettings(self.context) def update(self): + for resource in self.resources: + resource.need() for attr in self.context_attrs: setattr(self, attr, getattr(self.context, attr, None)) if self.i18n_context_attrs: