# HG changeset patch
# User svartalf
# Date 1270798946 -32400
# Node ID 07f84c66495f39fc4f9afbeedb84ed361c9256fc
# Parent 1370dc5b9c776a6ff3ce4d06082eb6a70e9e687c
BB код списка
diff -r 1370dc5b9c776a6ff3ce4d06082eb6a70e9e687c -r 07f84c66495f39fc4f9afbeedb84ed361c9256fc pytyph/rules/bb.py
--- a/pytyph/rules/bb.py Fri Apr 09 16:10:08 2010 +0900
+++ b/pytyph/rules/bb.py Fri Apr 09 16:42:26 2010 +0900
@@ -17,10 +17,15 @@
'''
import re
+import string
from pytyph.typograph import Rule
from pytyph.constants import url, email
+def bb_list(text):
+ lists = map(string.strip, filter(lambda x: x.strip(), text.groups()[0].split('[*]')))
+ return '
' % '\n'.join(lists)
+
rules = (
# Полужирное начертание
@@ -45,6 +50,6 @@
# TODO: Если текст ссылки слишком длинный, укорачиваем его
Rule(ur'\[email\s+(.*?)\](.*?)\[/email\]', u'\g<2>', classes=('bb',)),
- # Замена [ ] на неразрывный пробел
- Rule(ur'\[\s\]', u' ', classes=('bb',))
+ # Список элементов
+ Rule(ur'\[list\](.*?)\[\/list\]', bb_list, re.S, classes=('bb',)),
)
diff -r 1370dc5b9c776a6ff3ce4d06082eb6a70e9e687c -r 07f84c66495f39fc4f9afbeedb84ed361c9256fc pytyph/rules/braces.py
--- a/pytyph/rules/braces.py Fri Apr 09 16:10:08 2010 +0900
+++ b/pytyph/rules/braces.py Fri Apr 09 16:42:26 2010 +0900
@@ -2,6 +2,10 @@
from pytyph.typograph import Rule
+'''
+Скобки
+'''
+
rules = (
# Расстановка пробела перед скобками
diff -r 1370dc5b9c776a6ff3ce4d06082eb6a70e9e687c -r 07f84c66495f39fc4f9afbeedb84ed361c9256fc pytyph/rules/characters.py
--- a/pytyph/rules/characters.py Fri Apr 09 16:10:08 2010 +0900
+++ b/pytyph/rules/characters.py Fri Apr 09 16:42:26 2010 +0900
@@ -28,16 +28,16 @@
# Замена (tm) на символ торговой марки
Rule(ur'\(tm\)', u'™', re.I),
- # Отделяем знак параграва от числа пробелом
- Rule(ur'§(\d)', ur'§ \1', re.I),
- Rule(ur'§([IVXL])', ur'§ \1', re.I),
-
+ # Отделяем знак параграфа от числа пробелом
+ Rule(ur'§(\d)', ur'§ \1', re.I),
+ Rule(ur'§([IVXL])', ur'§ \1', re.I),
+
# Номер
- Rule(ur'№(\d)', ur'№ \1', re.I),
-
+ Rule(ur'№(\d)', ur'№ \1', re.I),
+
# Градусы
Rule(ur'(\d)C', ur'\1 °C', re.I),
-
+
# Замена символа плюс-минус
Rule(ur'\+-', u'±'),
diff -r 1370dc5b9c776a6ff3ce4d06082eb6a70e9e687c -r 07f84c66495f39fc4f9afbeedb84ed361c9256fc pytyph/tests/bb.py
--- a/pytyph/tests/bb.py Fri Apr 09 16:10:08 2010 +0900
+++ b/pytyph/tests/bb.py Fri Apr 09 16:42:26 2010 +0900
@@ -45,9 +45,17 @@
self.assertEqual(self.typograph.process(test), right)
- def testNbsp(self):
- test = u'[ ]'
- right = u' '
+ def testList(self):
+ test = u'''[list]
+ [*] Один
+ [*] Два
+ [*] Три
+ [/list]'''
+ right = u''''''
self.assertEqual(self.typograph.process(test), right)