Changeset 2262 in products


Ignore:
Timestamp:
May 6, 2010 10:04:39 AM (14 years ago)
Author:
crchemist
Message:

refactor seo_context from view to multiadapter

Location:
quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/adapters.py

    r2139 r2262  
    88from quintagroup.seoptimizer.interfaces import IMetaKeywords, IMappingMetaTags 
    99from quintagroup.seoptimizer.browser.seo_configlet import ISEOConfigletSchema 
     10 
     11from browser.interfaces import ISEOContext 
    1012 
    1113METADATA_MAPS = dict([ 
     
    3739        """ 
    3840        meta_keywords = [] 
    39         seo_context = queryMultiAdapter((self.context, self.context.REQUEST), 
    40                                         name='seo_context') 
     41        seo_context = queryMultiAdapter((self.context, self.context.REQUEST), ISEOContext) 
    4142        if seo_context: 
    4243            meta_keywords = list(seo_context['meta_keywords']) 
  • quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/configure.zcml

    r2251 r2262  
    6464 
    6565    <browser:page 
    66         name="seo_context" 
    67         for="*" 
    68         class=".views.SEOContext" 
    69         layer=".interfaces.IPloneSEOLayer" 
    70         permission="zope2.View" 
    71         /> 
    72  
    73     <browser:page 
    7466        name="seo-context-properties" 
    7567        for="*" 
     
    8274    <browser:resourceDirectory name="quintagroup.seoptimizer" directory="./resources" /> 
    8375 
     76  <!--Adapters--> 
     77  <adapter 
     78      for="* 
     79           zope.publisher.interfaces.browser.IBrowserRequest" 
     80      factory=".views.SEOContext"/> 
     81 
    8482</configure> 
  • quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/interfaces.py

    r2139 r2262  
    1414            2. Parse *text* and validate each extracted keyword 
    1515               for appearing on the context page """ 
     16 
     17class ISEOContext(Interface): 
     18    """ 
     19    """ 
     20 
  • quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/templates/seo_context_properties.pt

    r2139 r2262  
    3030                    Iterator python:modules['Products.CMFPlone'].IndexIterator; 
    3131                    tabindex python:Iterator(mainSlot=False); 
    32                     seo_context here/@@seo_context"><!--TODO:implement validation and errors handling--> 
     32                    seo_context view/seo_context"><!--TODO:implement validation and errors handling--> 
    3333      <h1 i18n:translate="heading_edit_seo_properties">Edit SEO Properties</h1> 
    3434      <div class="documentDescription" i18n:translate="description_edit_seo_properties"> 
  • quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/viewlets.py

    r2237 r2262  
    1616 
    1717from Products.CMFPlone.PloneTool import * 
     18 
     19from interfaces import ISEOContext 
    1820 
    1921class SEOTagsViewlet( ViewletBase ): 
     
    3436        pps = queryMultiAdapter((self.context, self.request), name="plone_portal_state") 
    3537        seo_global = queryAdapter(pps.portal(), ISEOConfigletSchema) 
    36         seo_context = queryMultiAdapter((self.context, self.request), name='seo_context') 
     38        seo_context = queryMultiAdapter((self.context, self.request), ISEOContext) 
    3739 
    3840        use_all = seo_global.exposeDCMetaTags 
     
    151153        self.context_state = getMultiAdapter((self.context, self.request), 
    152154                                             name=u'plone_context_state') 
    153         self.seo_context = getMultiAdapter((self.context, self.request), 
    154                                              name=u'seo_context') 
     155        self.seo_context = getMultiAdapter((self.context, self.request), ISEOContext) 
    155156 
    156157        self.override_title = self.seo_context['has_seo_title'] 
     
    206207    """ 
    207208    def render( self ): 
    208         seoc = getMultiAdapter((self.context, self.request), name=u'seo_context') 
     209        seoc = getMultiAdapter((self.context, self.request), ISEOContext) 
    209210        if seoc['seo_canonical']: 
    210211            return """<link rel="canonical" href="%s" />""" % seoc['seo_canonical'] 
  • quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/views.py

    r2251 r2262  
    11from time import time 
     2 
    23from DateTime import DateTime 
    34from Acquisition import aq_inner 
    45from zope.component import queryAdapter 
    56from zope.component import queryMultiAdapter 
     7from zope.component import adapts 
     8from zope.interface import implements 
    69from zope.schema.interfaces import InvalidValue 
    7  
    810from plone.memoize import view, ram 
    911 
     
    1719from quintagroup.seoptimizer.browser.seo_configlet import ISEOConfigletSchema 
    1820from quintagroup.seoptimizer import SeoptimizerMessageFactory as _ 
     21 
     22from interfaces import ISEOContext 
    1923 
    2024SEPERATOR = '|' 
     
    2832    return (self.pps.portal(), time() // (60 * 60)) 
    2933 
    30 class SEOContext( BrowserView ): 
     34class SEOContext(object): 
    3135    """ This class contains methods that allows to edit html header meta tags. 
    3236    """ 
    33  
    34     def __init__(self, *args, **kwargs): 
    35         super(SEOContext, self).__init__(*args, **kwargs) 
    36         self.pps = queryMultiAdapter((self.context, self.request), name="plone_portal_state") 
    37         self.pcs = queryMultiAdapter((self.context, self.request), name="plone_context_state") 
     37    implements(ISEOContext) 
     38 
     39    def __init__(self, context, request): 
     40        self.context, self.request = context, request 
     41        self.pps = queryMultiAdapter((context, request), name="plone_portal_state") 
     42        self.pcs = queryMultiAdapter((context, request), name="plone_context_state") 
    3843        self.gseo = queryAdapter(self.pps.portal(), ISEOConfigletSchema) 
    3944        self._seotags = self._getSEOTags() 
     
    171176        """ 
    172177        return '' 
     178 
     179    def seo_context(self): 
     180        return queryMultiAdapter((self.context, self.request), ISEOContext) 
    173181 
    174182    def setProperty(self, property, value, type='string'): 
Note: See TracChangeset for help on using the changeset viewer.