Changeset 3547 in products for quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser
- Timestamp:
- Sep 11, 2012 7:30:25 AM (12 years ago)
- Location:
- quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/keywords.py
r3141 r3547 34 34 if text.lower().strip(): 35 35 keywords = filter(None, map(lambda x: safe_unicode(x.strip(), enc), 36 36 text.lower().strip().split('\n'))) 37 37 else: 38 38 return ts.utranslate(domain='quintagroup.seoptimizer', … … 82 82 msgid=_(u'number_keywords', 83 83 default=u'Number of keywords at page:\n' 84 84 '${result}', 85 85 mapping={'result': '\n'.join(result)}), 86 86 context=self.context) -
quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/seo_configlet.py
r3542 r3547 31 31 exposeDCMetaTags = Bool( 32 32 title=_("label_exposeDCMetaTags", 33 default='Expose <abbr title="Dublin Core">DC</abbr> ' \33 default='Expose <abbr title="Dublin Core">DC</abbr> ' 34 34 'meta tags'), 35 35 description=_("description_seo_dc_metatags", … … 53 53 title=_("label_content_type_title", default='Content Types'), 54 54 description=_("description_seo_content_types", 55 default='Select content types that will have SEO properties'56 'enabled.'),55 default='Select content types that will have SEO ' 56 'properties enabled.'), 57 57 required=False, 58 58 missing_value=tuple(), … … 64 64 default='Default custom metatags.'), 65 65 description=_("help_default_custom_metatags", 66 default='Fill in custom metatag names (one per line) ' \67 'which will appear on qseo_properties edit tab. ' \66 default='Fill in custom metatag names (one per line) ' 67 'which will appear on qseo_properties edit tab. ' 68 68 'Example: "metaname|metacontent" or "metaname".'), 69 69 required=False) … … 74 74 title=_("label_custom_script", default=u'Header JavaScript'), 75 75 description=_("help_custom_script", 76 default=u"This JavaScript code will be included in "77 76 default=u"This JavaScript code will be included in " 77 "the rendered HTML as entered in the page header."), 78 78 default=u'', 79 79 required=False) … … 98 98 default='External keywords check'), 99 99 description=_("description_external_keywords_test", 100 default='Make keywords test by opening context url as '101 'external resource with urllib2.openurl(). This is '102 'useful when xdv/Deliverance transformation is used '103 'on the site.'),100 default='Make keywords test by opening context url as ' 101 'external resource with urllib2.openurl(). This is ' 102 'useful when xdv/Deliverance transformation is used ' 103 'on the site.'), 104 104 default=False, 105 105 required=False) … … 174 174 def _toFormValue(self, value): 175 175 if value == self.context.missing_value or \ 176 value == self.context._type():176 value == self.context._type(): 177 177 return self._missing 178 178 else: -
quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/viewlets.py
r3471 r3547 32 32 enc = getSiteEncoding(self.context) 33 33 sfuncd = lambda x, enc=enc: safe_unicode(x, enc) 34 return u'\n'.join([TEMPLATE % tuple(map(sfuncd, (k, v))) \34 return u'\n'.join([TEMPLATE % tuple(map(sfuncd, (k, v))) 35 35 for k, v in self.listMetaTags().items()]) 36 36 … … 48 48 adapter = IMappingMetaTags(self.context, None) 49 49 mapping_metadata = adapter and adapter.getMappingMetaTags() \ 50 50 or SortedDict() 51 51 52 52 if not use_all: … … 98 98 # Special cases 99 99 if accessor == 'Description' and \ 100 not 'description' in metadata_names:100 not 'description' in metadata_names: 101 101 result['description'] = escape(value) 102 102 elif accessor == 'Subject' and \ 103 not 'keywords' in metadata_names:103 not 'keywords' in metadata_names: 104 104 result['keywords'] = escape(value) 105 105 … … 130 130 # Filter out DWIMish artifacts on effective / expiration dates 131 131 if effective is not None and \ 132 effective > FLOOR_DATE and \133 effective != created:132 effective > FLOOR_DATE and \ 133 effective != created: 134 134 eff_str = effective.Date() 135 135 else: … … 147 147 # for given context and default from configlet 148 148 custom_meta_tags = seo_context and \ 149 149 seo_context['seo_customMetaTags'] or [] 150 150 for tag in custom_meta_tags: 151 151 if tag['meta_content']: … … 165 165 name=u'plone_context_state') 166 166 self.seo_context = getMultiAdapter((self.context, self.request), 167 167 name=u'seo_context') 168 168 169 169 self.override_title = self.seo_context['has_seo_title'] -
quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/views.py
r3471 r3547 14 14 from quintagroup.canonicalpath.interfaces import ICanonicalLink 15 15 from quintagroup.canonicalpath.adapters import PROPERTY_LINK \ 16 16 as CANONICAL_PROPERTY 17 17 18 18 from quintagroup.seoptimizer.browser.seo_configlet import ISEOConfigletSchema … … 63 63 default=''), 64 64 "seo_noframes": self.getSEOProperty('qSEO_noframes', 65 65 default=''), 66 66 "meta_keywords": self.getSEOProperty('qSEO_keywords', 67 67 'Subject', ()), … … 71 71 "has_seo_title": self.context.hasProperty('qSEO_title'), 72 72 "has_seo_robots": self.context.hasProperty('qSEO_robots'), 73 "has_seo_description": \74 75 "has_seo_distribution": \76 73 "has_seo_description": 74 self.context.hasProperty('qSEO_description'), 75 "has_seo_distribution": 76 self.context.hasProperty('qSEO_distribution'), 77 77 "has_html_comment": self.context.hasProperty('qSEO_html_comment'), 78 78 "has_noframes": self.context.hasProperty('qSEO_noframes'), 79 79 "has_seo_keywords": self.context.hasProperty('qSEO_keywords'), 80 80 "has_seo_canonical": self.context.hasProperty(CANONICAL_PROPERTY), 81 81 } 82 82 #seotags["seo_nonEmptylocalMetaTags"] = \ 83 83 # bool(seotags["seo_localCustomMetaTags"]) … … 117 117 # Get untouch global, override global in custom 118 118 # and new custom meta tags 119 untouchglob = [t for t in glob \120 119 untouchglob = [t for t in glob 120 if t['meta_name'] in list(gnames - lnames)] 121 121 return untouchglob + loc 122 122 … … 141 141 for property, value in context.propertyItems(): 142 142 if property.startswith(property_prefix) and \ 143 property[len(property_prefix):]:143 property[len(property_prefix):]: 144 144 result.append({'meta_name': property[len(property_prefix):], 145 145 'meta_content': value}) … … 157 157 if name_value[0]: 158 158 result.append({'meta_name': name_value[0], 159 'meta_content': len(name_value) == 2 and \160 159 'meta_content': len(name_value) == 2 and 160 name_value[1] or ''}) 161 161 return result 162 162 … … 212 212 state = '' 213 213 delete_list, seo_overrides_keys, seo_keys = [], [], [] 214 seo_items = dict([(k[len(SEO_PREFIX):], v) \215 for k, v in kw.items() if k.startswith(SEO_PREFIX)])214 seo_items = dict([(k[len(SEO_PREFIX):], v) 215 for k, v in kw.items() if k.startswith(SEO_PREFIX)]) 216 216 for key in seo_items.keys(): 217 217 if key.endswith(SUFFIX): … … 224 224 else: 225 225 if seo_key in seo_overrides_keys and \ 226 226 seo_items.get(seo_key + SUFFIX): 227 227 seo_value = seo_items[seo_key] 228 228 if seo_key == 'canonical': … … 234 234 else: 235 235 t_value = 'string' 236 if type(seo_value) == type([]) or \237 type(seo_value) == type(()):236 if isinstance(seo_value, list) or \ 237 isinstance(seo_value, tuple): 238 238 t_value = 'lines' 239 239 state = self.setProperty(PROP_PREFIX + seo_key, … … 264 264 for property, value in context.propertyItems(): 265 265 if property.startswith(PROP_CUSTOM_PREFIX) and \ 266 266 not property == PROP_CUSTOM_PREFIX: 267 267 delete_list.append(property) 268 268 if delete_list: … … 280 280 globalCustomMetaTags.append( 281 281 {'meta_name': name_value[0], 282 'meta_content': len(name_value) > 1 and \283 282 'meta_content': len(name_value) > 1 and 283 name_value[1] or ''}) 284 284 for tag in custommetatags: 285 285 meta_name, meta_content = tag['meta_name'], tag['meta_content'] 286 286 if meta_name: 287 if not [gmt for gmt in globalCustomMetaTags \288 if (gmt['meta_name'] == meta_name and \287 if not [gmt for gmt in globalCustomMetaTags 288 if (gmt['meta_name'] == meta_name and 289 289 gmt['meta_content'] == meta_content)]: 290 290 self.setProperty('%s%s' % (PROP_CUSTOM_PREFIX, meta_name), … … 344 344 else: 345 345 # Cancel 346 msg = _('seoproperties_canceled', default=u'No content SEO ' \346 msg = _('seoproperties_canceled', default=u'No content SEO ' 347 347 'properties have been changed.') 348 348
Note: See TracChangeset
for help on using the changeset viewer.