Changeset 237:7a6d24857a9b


Ignore:
Timestamp:
05.02.2010 01:22:37 (2 years ago)
Author:
slav0nic <slav0nic0@…>
Branch:
default
Message:

fix #78: update bbmarkup

File:
1 edited

Legend:

Unmodified
Added
Removed
  • djangobb/djangobb_forum/markups/bbmarkup.py

    r225 r237  
    88__all__ = ('BBCODE_RULES', 'bbcode') 
    99 
    10 BBCODE_RULES = [ (r'\[url\](.+?)\[/url\]', r'<a href="\1">\1</a>'), 
    11         (r'\[url=(.+?)\](.+?)\[/url\]', r'<a href="\1">\2</a>'), 
    12         (r'\[link\](.+?)\[/link\]', r'<a href="\1">\1</a>'), 
    13         (r'\[link=(.+?)\](.+?)\[/link\]', r'<a href="\1">\2</a>'), 
    14         (r'\[email\](.+?)\[/email\]', r'<a href="mailto:\1">\1</a>'), 
    15         (r'\[email=(.+?)\](.+?)\[/email\]', r'<a href="mailto:\1">\2</a>'), 
    16         (r'\[img\](.+?)\[/img\]', r'<img src="\1">'), 
    17         (r'\[img=(.+?)\](.+?)\[/img\]', r'<img src="\1" alt="\2">'), 
    18         (r'\[IMG\](.+?)\[/IMG\]', r'<img src="\1">'), 
    19         (r'\[IMG=(.+?)\](.+?)\[/IMG\]', r'<img src="\1" alt="\2">'), 
    20         (r'\[color=(.+?)\](.+?)\[/color\]', r'<span style="color:\1">\2</span>'), 
    21         (r'\[b\](.+?)\[/b\]', r'<strong>\1</strong>'), 
    22         (r'\[i\](.+?)\[/i\]', r'<em>\1</em>'), 
    23         (r'\[u\](.+?)\[/u\]', r'<u>\1</u>'), 
    24         (r'\[s\](.+?)\[/s\]', r'<strike>\1</strike>'), 
    25         (r'\[quote\](.+?)\[/quote\]', r'<blockquote>\1</blockquote>'), 
    26         (r'\[quote=(.+?)\](.+?)\[/quote\]', r'<blockquote><em>\1</em> <br /> \2</blockquote>'), 
    27         (r'\[center\](.+?)\[/center\]', r'<div style="text-align: center;">\1</div>'), 
    28         (r'\[big\](.+?)\[/big\]', r'<big>\1</big>'), 
    29         (r'\[small\](.+?)\[/small\]', r'<small>\1</small>'), 
    30         (r'\[list\](.+?)\[/list\]', r'<ul>\1</ul>'), 
    31         (r'\[list\=(.+?)\](.+?)\[/list\]', r'<ol start="\1">\2</ol>'), 
    32         (r'\[\*\]\s?(.*?)\n', r'<li>\1</li>'), 
     10BBCODE_RULES = [ (r'\[url\](.*?)\[/url\]', r'<a href="\1">\1</a>'), 
     11        (r'\[url=(.*?)\](.*?)\[/url\]', r'<a href="\1">\2</a>'), 
     12        (r'\[link\](.*?)\[/link\]', r'<a href="\1">\1</a>'), 
     13        (r'\[link=(.*?)\](.*?)\[/link\]', r'<a href="\1">\2</a>'), 
     14        (r'\[email\](.*?)\[/email\]', r'<a href="mailto:\1">\1</a>'), 
     15        (r'\[email=(.*?)\](.*?)\[/email\]', r'<a href="mailto:\1">\2</a>'), 
     16        (r'\[img\](.*?)\[/img\]', r'<img src="\1">'), 
     17        (r'\[img=(.*?)\](.*?)\[/img\]', r'<img src="\1" alt="\2">'), 
     18        (r'\[color=([a-zA-Z]*|\#?[0-9a-fA-F]{6})\](.*?)\[/color\]', r'<span style="color:\1">\2</span>'), 
     19        (r'\[b\](.*?)\[/b\]', r'<strong>\1</strong>'), 
     20        (r'\[i\](.*?)\[/i\]', r'<em>\1</em>'), 
     21        (r'\[u\](.*?)\[/u\]', r'<u>\1</u>'), 
     22        (r'\[s\](.*?)\[/s\]', r'<strike>\1</strike>'), 
     23        (r'\[quote\](.*?)\[/quote\]', r'<blockquote>\1</blockquote>'), 
     24        (r'\[quote=(.*?)\](.*?)\[/quote\]', r'<blockquote><em>\1</em> <br /> \2</blockquote>'), 
     25        (r'\[center\](.*?)\[/center\]', r'<div style="text-align: center;">\1</div>'), 
     26        (r'\[big\](.*?)\[/big\]', r'<big>\1</big>'), 
     27        (r'\[small\](.*?)\[/small\]', r'<small>\1</small>'), 
     28        (r'\[list\](.*?)\[/list\]', r'<ul>\1</ul>'), 
     29        (r'\[list\=(\d+)\](.*?)\[/list\]', r'<ol start="\1">\2</ol>'), 
     30        (r'\[\*\](.*?)<br./>', r'<li>\1</li>'), 
    3331        (r'\[br\]', r'<br />') ] 
    3432 
     
    5452 
    5553 
    56 def bbcode(value, linebr=True, code_parser=code_parser): 
     54def bbcode(value, code_parser=code_parser): 
    5755    """ 
    5856    >>> data = '[code]print "Lorem [b]imsum[b]"[/code]' 
     
    6967    >>> bbmarkup.bbcode('[quote=test user]Test quote text[/quote]') 
    7068    u'<blockquote><em>test user</em> <br /> Test quote text</blockquote>' 
     69    >>> bbmarkup.bbcode('[color=red]Lorem[/color]') 
     70    u'<span style="color:red">Lorem</span>' 
     71    >>> bbmarkup.bbcode('[color=#FAaF12]Lorem[/color]') 
     72    u'<span style="color:#FAaF12">Lorem</span>' 
     73    >>> bbmarkup.bbcode('[color=#FAaF121]Lorem[/color]') 
     74    u'[color=#FAaF121]Lorem[/color]' 
     75     
    7176    """ 
    7277 
    7378    value = escape(value) 
    74     if linebr: 
    75         value = linebreaksbr(value) 
    76     value = re.sub(re.compile(r'\[code\](.+?)\[/code\]', re.DOTALL), code_parser, value) 
     79    value = linebreaksbr(value) 
     80    value = re.sub(re.compile(r'\[code\](.*?)\[/code\]', re.DOTALL), code_parser, value) 
    7781    for bbset in BBCODE_RULES_COMPILED: 
    7882        value = bbset[0].sub(bbset[1], value) 
Note: See TracChangeset for help on using the changeset viewer.