Changeset 1016

Show
Ignore:
Timestamp:
11/30/07 10:54:18
Author:
piv
Message:

added default_custom_metatags to seo_properties, keywords check now by lines

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • qSEOptimizer/trunk/Extensions/Install.py

    r988 r1016  
    5656        sheet._setProperty('additional_keywords', [], 'lines') 
    5757        out.write("Added 'additional_keywords' property field to %s property sheet\n" % PROPERTY_SHEET) 
     58 
     59    if not sheet.hasProperty('default_custom_metatags'): 
     60        sheet._setProperty('default_custom_metatags', DEFAULT_CUSTOM_METATAGS, 'lines') 
     61        out.write("Added 'default_custom_metatags' property field to %s property sheet\n" % PROPERTY_SHEET) 
    5862 
    5963def setupSkin(self, out, layers): 
  • qSEOptimizer/trunk/browser/keywords.py

    r1015 r1016  
    1818 
    1919        # extract keywords from text 
    20         keywords = text.lower().split(
     20        keywords = map(lambda x: x.strip(), text.lower().split('\n')
    2121        if not keywords: 
    2222            return _(u'Keywords list is empty!') 
     
    5151        #if search: 
    5252            #body_html = search.group(1) 
     53        #else: 
     54            #return _('Invalid html code on page') 
     55 
     56        #page_text = self.strip_tags(body_html) 
     57        #page_words = page_text.lower().split() 
    5358 
    5459        # extract words from url page using lynx browser 
    5560        page_text = commands.getoutput('lynx --dump --nolist %s' % url) 
    5661        if page_text and page_text != 'sh: lynx: command not found': 
    57             page_words = page_text.lower().split() 
     62            #page_words = page_text.lower().split() 
     63            page_text = page_text.lower() 
    5864        else: 
    5965            return _(u'Could not find lynx browser!') 
    6066 
    6167        # check every keyword on appearing in body of html page 
    62         missing = {} 
     68        missing = [] 
     69        added = {} 
    6370        for keyword in keywords: 
    64             if keyword not in page_words and keyword not in missing.keys(): 
    65                 missing[keyword] = 1 
     71            pattern = re.compile(r'\b%s\b' % keyword, re.I) 
     72            if not (pattern.search(page_text) or keyword in added.keys()): 
     73                missing.append(keyword) 
     74                added[keyword] = 1 
    6675 
    6776        # return list of missing keywords 
    6877        if missing: 
    69             msg = u"""Next keywords did not appear on the page:\n%s""" % '\n'.join(missing.keys()
     78            msg = u"""Next keywords did not appear on the page:\n%s""" % '\n'.join(missing
    7079        else: 
    7180            msg = u"""All keywords found on the page!""" 
     
    8190                    page_words.extend(map(lambda x: x.lower(), value.split())) 
    8291 
    83     def strip_tags(in_text): 
     92    def strip_tags(self, in_text): 
    8493        s_list = list(in_text) 
    8594        i,j = 0,0 
  • qSEOptimizer/trunk/config.py

    r774 r1016  
    1313 
    1414FIELDS = ['seo_title', 'seo_description', 'seo_keywords'] 
     15 
     16DEFAULT_CUSTOM_METATAGS = [] 
  • qSEOptimizer/trunk/skins/qSEOptimizer/prefs_qseo_setup.cpy

    r988 r1016  
    55##bind script=script 
    66##bind subpath=traverse_subpath 
    7 ##parameters= portalTypes=[], exposeDCMetaTags=None, additionalKeywords=[] 
     7##parameters= portalTypes=[], exposeDCMetaTags=None, additionalKeywords=[], default_custom_metatags=[] 
    88##title=add action tab for selected portal types 
    99## 
     
    1515site_props.manage_changeProperties(exposeDCMetaTags=exposeDCMetaTags) 
    1616seo_props.manage_changeProperties(additional_keywords=additionalKeywords) 
     17seo_props.manage_changeProperties(default_custom_metatags=default_custom_metatags) 
    1718 
    1819pt = getToolByName(context, 'portal_types') 
  • qSEOptimizer/trunk/skins/qSEOptimizer/prefs_qseo_setup_form.cpt

    r988 r1016  
    3939                           header. They include DC.description, DC.type, 
    4040                           DC.format, DC.creator and others. 
     41                        </div> 
     42                    </div> 
     43 
     44                    <div class="field" 
     45                         tal:define="default_custom_metatags portal/portal_properties/seo_properties/default_custom_metatags|python:[]"> 
     46                        <label for="default_custom_metatags" i18n:translate="label_default_custom_metatags"> 
     47                            Default custom metatags. 
     48                        </label> 
     49                        <div class="formHelp" i18n:translate="help_default_custom_metatags"> 
     50                            Fill in custom metatag names (one per line) which will appear on qseo_properties 
     51                            edit tab. 
     52                        </div> 
     53                        <div class="widget"> 
     54                            <textarea cols="60" id="default_custom_metatags" name="default_custom_metatags" rows="15" 
     55                                      tal:content="python:'\n'.join(default_custom_metatags)"></textarea> 
    4156                        </div> 
    4257                    </div>