# HG changeset patch # User Thierry Florac # Date 1580468927 -3600 # Node ID 7561b24c28c172cc79ea5fd85438ec88d878bba8 # Parent 40834e55f1d1c6f4263be9ac698cd8426e1b5859 Added script meta base class diff -r 40834e55f1d1 -r 7561b24c28c1 src/ztfy/baseskin/interfaces/metas.py --- a/src/ztfy/baseskin/interfaces/metas.py Wed Nov 25 10:38:26 2015 +0100 +++ b/src/ztfy/baseskin/interfaces/metas.py Fri Jan 31 12:08:47 2020 +0100 @@ -71,6 +71,10 @@ href = Attribute(_("Meta link target")) +class IScriptMetaHeader(IBaseMeta): + """Script meta header interface""" + + class IContentMetasHeaders(Interface): """Content metas headers interface""" diff -r 40834e55f1d1 -r 7561b24c28c1 src/ztfy/baseskin/locales/fr/LC_MESSAGES/ztfy.baseskin.po --- a/src/ztfy/baseskin/locales/fr/LC_MESSAGES/ztfy.baseskin.po Wed Nov 25 10:38:26 2015 +0100 +++ b/src/ztfy/baseskin/locales/fr/LC_MESSAGES/ztfy.baseskin.po Fri Jan 31 12:08:47 2020 +0100 @@ -1,4 +1,4 @@ -############################################################################## +# ############################################################################# # # Copyright (c) 2003-2004 Zope Foundation and Contributors. # All Rights Reserved. @@ -10,7 +10,7 @@ # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # -############################################################################## +# ############################################################################# msgid "" msgstr "" "Project-Id-Version: Meaningless\n" @@ -18,6 +18,7 @@ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: Zope 3 Developers \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -51,8 +52,8 @@ "Name of the default view matching object, request and (optionally) current " "view" msgstr "" -"Nom de la vue par défaut correspondant à l'objet, à la requête et (éventuellement) " -"à la vue en cours" +"Nom de la vue par défaut correspondant à l'objet, à la requête et " +"(éventuellement) à la vue en cours" #: ztfy/baseskin/interfaces/__init__.py:73 msgid "Default dialog CSS class" @@ -136,8 +137,9 @@ #: ztfy/baseskin/interfaces/form.py:158 msgid "Set to true when form handle uploads to get progress bar" -msgstr "Positionné à la valeur 'True' lorsque le formulaire dispose de contrôles de dépôt " -"de fichiers de façon à afficher une barre d'avancement" +msgstr "" +"Positionné à la valeur 'True' lorsque le formulaire dispose de contrôles de " +"dépôt de fichiers de façon à afficher une barre d'avancement" #: ztfy/baseskin/interfaces/form.py:162 msgid "Widgets validation callbacks" @@ -240,8 +242,8 @@ "If 'Yes', a switchable group containing only widgets with default values is " "hidden" msgstr "" -"Si 'Oui', un groupe 'basculable' ne contenant que des widgets avec des valeurs par " -"défaut est masqué" +"Si 'Oui', un groupe 'basculable' ne contenant que des widgets avec des " +"valeurs par défaut est masqué" #: ztfy/baseskin/interfaces/metas.py:43 msgid "HTTP equiv header" diff -r 40834e55f1d1 -r 7561b24c28c1 src/ztfy/baseskin/metas.py --- a/src/ztfy/baseskin/metas.py Wed Nov 25 10:38:26 2015 +0100 +++ b/src/ztfy/baseskin/metas.py Fri Jan 31 12:08:47 2020 +0100 @@ -14,21 +14,14 @@ ############################################################################## -# import standard packages - -# import Zope3 interfaces - -# import local interfaces -from ztfy.baseskin.interfaces.metas import IContentMetasHeaders, IContentMetaHeader, \ - IHTTPEquivMetaHeader, IPropertyMetaHeader, \ - ILinkMetaHeader, IPageMetasHeaders - -# import Zope3 packages +from z3c.template.interfaces import IPageTemplate +from z3c.template.template import getPageTemplate from zope.component import adapts, getAdapters -from zope.interface import implements, Interface - -# import local packages +from zope.component._api import getMultiAdapter +from zope.interface import Interface, implements from ztfy.base.interfaces import IBaseContent +from ztfy.baseskin.interfaces.metas import IContentMetaHeader, IContentMetasHeaders, \ + IHTTPEquivMetaHeader, ILinkMetaHeader, IPageMetasHeaders, IPropertyMetaHeader, IScriptMetaHeader class ContentMeta(object): @@ -89,6 +82,24 @@ 'href': self.href} +class ScriptMeta(object): + """Script meta header, based on a template""" + + implements(IScriptMetaHeader) + + template = getPageTemplate() + + def __init__(self, context, request): + self.context = context + self.request = request + + def render(self): + if self.template is None: + template = getMultiAdapter((self, self.request), IPageTemplate) + return template(self) + return self.template() + + class ContentMetasAdapter(object): """Generic content metas adapter"""