Changeset 1974


Ignore:
Timestamp:
09/05/07 15:04:31 (12 years ago)
Author:
jukka
Message:

More tuning with html parsing.

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/FieldsWidgets.py

    r1972 r1974  
    3232from mp3tool import get_length 
    3333from types import ListType, TupleType, StringType, UnicodeType, InstanceType 
    34 from Products.LeMill.Validators import remove_invalid_html_tags 
    3534from Products.LeMill import LeMillMessageFactory as _ 
    3635 
     
    268267        for i in range(0,int(form.get('%s_count' % fieldname, 0))): 
    269268            text= form.get('%s_%s' % (fieldname, i)) 
    270             #text = remove_invalid_html_tags(text) 
    271             #if form.get('replaceNewLines') != None and field.getName() == 'bodyText': 
    272             #    lt = getToolByName(instance, 'lemill_tool') 
    273             #    text = lt.addBreaksToText(text) 
    274269            value.append(text) 
    275270 
     
    310305        for i in range(0,int(form.get('%s_count' % fieldname, 1))): 
    311306            text= form.get('%s_%s' % (fieldname, i)) 
    312             text = remove_invalid_html_tags(text) 
    313307            file=form.get('%s_file_%s' % (fieldname, i)) 
    314308            piece_uid=form.get('piece_uid_%s' % i, '') 
     
    357351                if text.startswith('#keywords#!#'): 
    358352                    text=text.split('#!#')[1:] 
    359                 text = remove_invalid_html_tags(text) 
    360353                value.append(text) 
    361354 
  • trunk/GroupBlog.py

    r1969 r1974  
    256256        """ Recent posts are lists of id's, because then picking the post objects when inside group is easy and quick """ 
    257257        # sometimes this method gets called before new blogposts get their proper id:s, so escape then: 
     258        print 'calling addRecent_post' 
    258259        if postid.startswith('blogpost.'): 
    259260            return None 
  • trunk/LargeSectionFolder.py

    r1966 r1974  
    880880        for group in glist: 
    881881            grecent= group.getRecent_posts() 
     882            print grecent 
    882883            for postid in grecent: 
    883884                try: 
    884                     post=group._getOb(postid) 
    885                     if post.review_state()!='deleted': 
     885                    post=getattr(group, postid) 
     886                    print post.review_state() 
     887                    if post.review_state()=='deleted': 
     888                        group.removeRecent_post(postid)                         
     889                    else: 
    886890                        recents.append((post.CreationDate(),post)) 
    887                     else: 
    888                         group.removeRecent_post(postid)                         
    889891                except AttributeError: 
    890892                    # do some cleaning: 
     893                    print 'horrible attribute-error' 
    891894                    group.removeRecent_post(postid) 
    892895                
  • trunk/LeMillTool.py

    r1972 r1974  
    5252# whitelist is for html-tags only 
    5353whitelist=re.compile(r""" 
    54     <( 
    55     p 
     54    (p 
    5655    |a 
    5756    |br 
    5857    |b 
    5958    |i 
    60     |h3 
    61     |img 
    62     |embed 
     59    |h2 
    6360    |pre 
    6461    |li 
     
    6966    |th 
    7067    |td 
    71     >|\>\ .*?)> 
     68    |sub 
     69    |sup) 
    7270    """, re.IGNORECASE | re.VERBOSE) 
     71 
     72restricted=re.compile(r""" 
     73    ((?P<img>img) 
     74    |(?P<embed>embed) 
     75    |(?P<object>object)) 
     76    """, re.IGNORECASE | re.VERBOSE) 
     77 
    7378 
    7479 
     
    95100        def html_open(match): 
    96101            full_tag=match.group('html_open') 
    97             tag=re.match(whitelist,full_tag) 
     102            tag=full_tag[1:].split(' />',1)[0] # '<tag attrib="">' -> 'tag' 
     103            tag=re.match(whitelist,tag) 
    98104            if tag: 
    99105                tag=tag.group().lower() 
    100                 if not tag.endswith('/>'): # also deals with self-closing tags like <br/> 
    101                     open_tags.append(tag.strip('<>')) 
    102                 return tag 
    103             else: 
     106                if not full_tag.endswith('/>'): # also deals with self-closing tags like <br/> 
     107                    open_tags.append(tag) 
     108                return full_tag 
     109            tag=re.match(restricted, tag)             
     110            if tag: 
     111                print tag.group() 
     112                print tag.groups() 
    104113                return '' 
    105114     
     
    184193        def awordtoolong(match): 
    185194            full_tag=match.group('awordtoolong') 
    186             return self.shorten_link(full_tag)             
     195            return self.shorten_url(full_tag)             
    187196 
    188197        def endfile(match): 
     
    224233     
    225234             
    226     def shorten_url(url): 
     235    def shorten_url(self, url): 
    227236        """ Assumes that the url is proper and too long """ 
    228237        maxlen=40 
  • trunk/config.py

    r1972 r1974  
    132132        "Cross-curricular education"] 
    133133 
    134  
    135 TAGS_BLACKLIST= ['center', 'span', 'tt', 'big', 'small', 'u', 's', 'strike', 'basefont', 'font', 'div', 'img', 'h1', 'em', 'strong'] 
    136  
    137 INVALID_ATTRIBUTES = ['dir', 'lang', 'valign', 'halign', 'border', 'frame', 'rules', 'cellspacing', 'cellpadding', 'bgcolor', 'style'] 
    138  
    139134# when translating resources values of these fields are copied to translation 
    140135LANGUAGE_INDEPENDENT_FIELDS=['target_group', 'groups', 'file', 'originalAuthor', 'hasCoverImage', 'coverImage', 'originalCoverImage', 'rights', 'video', 'address', 'latestEdit', 
  • trunk/skins/lemill/base_edit.cpt.metadata

    r1918 r1974  
    66validators..form_add = 
    77validators..cancel = 
    8 validators.PresentationMaterial= validate_base_silently, validate_title, validate_html_tags 
    9 validators.PILOTMaterial= validate_base_silently, validate_title, validate_html_tags 
    10 validators.MultimediaMaterial= validate_base_silently, validate_title, validate_html_tags 
     8validators.PresentationMaterial= validate_base_silently, validate_title 
     9validators.PILOTMaterial= validate_base_silently, validate_title 
     10validators.MultimediaMaterial= validate_base_silently, validate_title 
    1111 
    1212[actions] 
  • trunk/skins/lemill/base_translate.cpt.metadata

    r1516 r1974  
    66validators..form_add = 
    77validators..cancel = 
    8 validators.MultimediaMaterial = validate_html_tags, validate_title 
     8validators.MultimediaMaterial = validate_title 
    99 
    1010[actions] 
Note: See TracChangeset for help on using the changeset viewer.