--- 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"""
--- 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 <EMAIL@ADDRESS>\n"
"Language-Team: Zope 3 Developers <zope-dev@zope.org>\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"
--- 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"""