Ignore:
Timestamp:
Mar 18, 2010 10:05:38 AM (14 years ago)
Author:
mylan
Message:

#180: Add delete canonical_link property, some optimization

File:
1 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.seoptimizer/branches/refactoring2.3.0/quintagroup/seoptimizer/browser/views.py

    r1931 r1935  
    55from zope.component import queryAdapter 
    66from zope.component import queryMultiAdapter 
     7from zope.schema.interfaces import InvalidValue 
     8 
    79from plone.memoize import view, ram 
    810from plone.app.controlpanel.form import ControlPanelView 
     
    166168        Sets a new property with the given id, value and type or changes it. 
    167169        """ 
    168         context = aq_inner(self.context) 
     170        context = aq_inner(self.context)  
    169171        state = self.validateSEOProperty(property, value) 
    170172        if not state: 
     
    190192            if seo_key == 'custommetatags': 
    191193                self.manageSEOCustomMetaTagsProperties(**kw) 
    192             elif seo_key == 'canonical': 
    193                 canonical = seo_items[seo_key] 
    194                 try: 
    195                     ICanonicalLink(self.context).canonical_link = canonical 
    196                 except InvalidValue, e: 
    197                     return str(e) 
    198194            else: 
    199195                if seo_key in seo_overrides_keys and seo_items.get(seo_key+SUFFIX): 
    200196                    seo_value = seo_items[seo_key] 
    201                     t_value = 'string' 
    202                     if type(seo_value)==type([]) or type(seo_value)==type(()): t_value = 'lines' 
    203                     state = self.setProperty(PROP_PREFIX+seo_key, seo_value, type=t_value) 
     197                    if seo_key == 'canonical': 
     198                        try: 
     199                            ICanonicalLink(self.context).canonical_link = seo_value 
     200                        except InvalidValue, e: 
     201                            state = "'%s' - wrong canonical url" % str(e) 
     202                    else: 
     203                        t_value = 'string' 
     204                        if type(seo_value)==type([]) or type(seo_value)==type(()): t_value = 'lines' 
     205                        state = self.setProperty(PROP_PREFIX+seo_key, seo_value, type=t_value) 
    204206                    if state: 
    205207                        return state 
     208                elif seo_key == 'canonical': 
     209                    del ICanonicalLink(self.context).canonical_link 
    206210                elif context.hasProperty(PROP_PREFIX+seo_key): 
    207211                    delete_list.append(PROP_PREFIX+seo_key) 
Note: See TracChangeset for help on using the changeset viewer.