# 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)