Changeset 3134 in products for quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/keywords.py
- Timestamp:
- Apr 18, 2011 2:32:21 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/keywords.py
r2933 r3134 1 import re, sys, urllib2 1 import re 2 import sys 3 import urllib2 2 4 from xml.dom import Node 3 5 … … 17 19 from quintagroup.seoptimizer.browser.seo_configlet import ISEOConfigletSchema 18 20 21 19 22 class ValidateSEOKeywordsView(BrowserView): 20 23 … … 27 30 transforms = getUtility(IPortalTransformsTool) 28 31 portal = getToolByName(self.context, 'portal_url').getPortalObject() 29 isExternal = queryAdapter(portal, ISEOConfigletSchema).external_keywords_test 32 query_adapter = queryAdapter(portal, ISEOConfigletSchema) 33 isExternal = query_adapter.external_keywords_test 30 34 # extract keywords from text 31 35 enc = getSiteEncoding(self.context) … … 42 46 # Not pass timeout option because: 43 47 # 1. its value get from the global default timeout settings. 44 # 2. timeout option added in python 2.6 (so acceptable only in plone4+) 48 # 2. timeout option added in python 2.6 49 # (so acceptable only in plone4+) 45 50 try: 46 51 resp = urllib2.urlopen(self.context.absolute_url()) … … 50 55 resp.close() 51 56 except (urllib2.URLError, urllib2.HTTPError), e: 52 # In case of exceed timeout period or other URL connection errors. 53 # Get nearest to context error_log object (stolen from Zope2/App/startup.py) 57 # In case of exceed timeout period or 58 # other URL connection errors. 59 # Get nearest to context error_log object 60 # (stolen from Zope2/App/startup.py) 54 61 html = None 55 62 info = sys.exc_info() … … 59 66 html = unicode(self.context()).encode(enc) 60 67 61 # If no html - information about problem with page retrieval should be returned 68 # If no html - information about problem with page retrieval 69 # should be returned 62 70 result = [] 63 71 if html is None: … … 69 77 # check every keyword on appearing in body of html page 70 78 for keyword in keywords: 71 keyword_on_page = unicode(len(re.findall(u'\\b%s\\b' % keyword, page_text, re.I|re.U))) 79 keyword_on_page = unicode(len(re.findall(u'\\b%s\\b' % keyword, 80 page_text, re.I | re.U))) 72 81 result.append(' - '.join((keyword, keyword_on_page))) 73 82 74 83 return ts.utranslate(domain='quintagroup.seoptimizer', 75 84 msgid=_(u'number_keywords', 76 default=u'Number of keywords at page:\n${result}', 77 mapping={'result':'\n'.join(result)}), 85 default=u'Number of keywords at page:\n' 86 '${result}', 87 mapping={'result': '\n'.join(result)}), 78 88 context=self.context)
Note: See TracChangeset
for help on using the changeset viewer.