src/pyams_skin/metas.py
changeset 576 998a3b7cac64
parent 520 f810009afcc6
equal deleted inserted replaced
575:d9128c1432af 576:998a3b7cac64
    17 from pyramid.interfaces import IRequest
    17 from pyramid.interfaces import IRequest
    18 from zope.interface import Interface, implementer
    18 from zope.interface import Interface, implementer
    19 
    19 
    20 from pyams_i18n.interfaces import II18n
    20 from pyams_i18n.interfaces import II18n
    21 from pyams_skin.interfaces.configuration import IConfiguration
    21 from pyams_skin.interfaces.configuration import IConfiguration
    22 from pyams_skin.interfaces.extension import IGoogleAnalyticsInfo
    22 from pyams_skin.interfaces.extension import IFacebookSiteInfo, IGoogleAnalyticsInfo
    23 from pyams_skin.interfaces.metas import IHTMLContentMetas, IMetaHeader
    23 from pyams_skin.interfaces.metas import IHTMLContentMetas, IMetaHeader
    24 from pyams_skin.layer import IPyAMSUserLayer
    24 from pyams_skin.layer import IPyAMSUserLayer
    25 from pyams_utils.adapter import ContextRequestViewAdapter, adapter_config
    25 from pyams_utils.adapter import ContextRequestViewAdapter, adapter_config
    26 from pyams_utils.interfaces.site import ISiteRoot
    26 from pyams_utils.interfaces.site import ISiteRoot
    27 from pyams_utils.interfaces.tales import ITALESExtension
    27 from pyams_utils.interfaces.tales import ITALESExtension
   197         return ContextRequestViewAdapter.__new__(cls)
   197         return ContextRequestViewAdapter.__new__(cls)
   198 
   198 
   199     def get_metas(self):
   199     def get_metas(self):
   200         info = IGoogleAnalyticsInfo(self.request.root)
   200         info = IGoogleAnalyticsInfo(self.request.root)
   201         yield ContentMeta('google-site-verification', info.verification_code)
   201         yield ContentMeta('google-site-verification', info.verification_code)
       
   202 
       
   203 
       
   204 @adapter_config(name='facebook-verification',
       
   205                 context=(Interface, IPyAMSUserLayer, Interface),
       
   206                 provides=IHTMLContentMetas)
       
   207 class FacebookVerificationCodeMetasAdapter(ContextRequestViewAdapter):
       
   208     """Facebook verification code meta adapter"""
       
   209 
       
   210     order = 12
       
   211 
       
   212     def __new__(cls, context, request, view):
       
   213         info = IFacebookSiteInfo(request.root)
       
   214         if not (info.enabled and info.verification_code):
       
   215             return None
       
   216         return ContextRequestViewAdapter.__new__(cls)
       
   217 
       
   218     def get_metas(self):
       
   219         info = IFacebookSiteInfo(self.request.root)
       
   220         yield ContentMeta('facebook-domain-verification', info.verification_code)