Amelioration de la gestion des listes.
darcs-hash:20060430083810-68412-37999d5a03d60545b55775e8f40ae1c010351d88.gz
This commit is contained in:
parent
35cedcfdb5
commit
7d45b34de9
1 changed files with 37 additions and 26 deletions
|
@ -22,13 +22,14 @@ class Formatter(FormatterBase):
|
||||||
self._in_code_line = 0
|
self._in_code_line = 0
|
||||||
self._code_area_state = [0, -1, -1, 0]
|
self._code_area_state = [0, -1, -1, 0]
|
||||||
self._nested_lists = []
|
self._nested_lists = []
|
||||||
self._did_para = 0
|
self._did_para = False
|
||||||
self._url = None
|
self._url = None
|
||||||
self._text = None # XXX does not work with links in headings!!!!!
|
self._text = None # XXX does not work with links in headings!!!!!
|
||||||
|
|
||||||
def startDocument(self, pagename):
|
def startDocument(self, pagename):
|
||||||
line = u"*" * (len(pagename)+2) + u'\n'
|
line = u"*" * (len(pagename)+2) + u'\n'
|
||||||
return u"%s %s \n%s" % (line, pagename, line)
|
self._did_para = True
|
||||||
|
return u"%s %s \n%s\n" % (line, pagename, line)
|
||||||
|
|
||||||
def endDocument(self):
|
def endDocument(self):
|
||||||
return u'\n'
|
return u'\n'
|
||||||
|
@ -72,7 +73,7 @@ class Formatter(FormatterBase):
|
||||||
return u' [%s]' % (self._url)
|
return u' [%s]' % (self._url)
|
||||||
|
|
||||||
def text(self, text):
|
def text(self, text):
|
||||||
self._did_para = 0
|
self._did_para = False
|
||||||
if self._text is not None:
|
if self._text is not None:
|
||||||
self._text.append(text)
|
self._text.append(text)
|
||||||
return text
|
return text
|
||||||
|
@ -91,30 +92,31 @@ class Formatter(FormatterBase):
|
||||||
def highlight(self, on):
|
def highlight(self, on):
|
||||||
return u''
|
return u''
|
||||||
|
|
||||||
def number_list(self, on, type=None, start=None):
|
def _list(self, on, bullet):
|
||||||
if on:
|
if on:
|
||||||
self._nested_lists.append(1)
|
self._nested_lists.append(bullet)
|
||||||
return [u'\n', u'\n\n'][not self._did_para]
|
if self._did_para:
|
||||||
|
self._did_para = False
|
||||||
|
return u''
|
||||||
|
else:
|
||||||
|
return u'\n'
|
||||||
else:
|
else:
|
||||||
self._nested_lists.pop()
|
self._nested_lists.pop()
|
||||||
if not self._did_para:
|
if self._did_para:
|
||||||
self._did_para = 1
|
return u''
|
||||||
return u'\n'
|
else:
|
||||||
return u''
|
self._did_para = True
|
||||||
|
return u'\n'
|
||||||
|
|
||||||
|
def number_list(self, on, type=None, start=None):
|
||||||
|
return self._list(on, 1)
|
||||||
|
|
||||||
def bullet_list(self, on):
|
def bullet_list(self, on):
|
||||||
if on:
|
return self._list(on, 0)
|
||||||
self._nested_lists.append(0)
|
|
||||||
return [u'\n', u'\n\n'][not self._did_para]
|
|
||||||
else:
|
|
||||||
self._nested_lists.pop()
|
|
||||||
if not self._did_para:
|
|
||||||
self._did_para = 1
|
|
||||||
return u'\n'
|
|
||||||
return u''
|
|
||||||
|
|
||||||
def listitem(self, on, **kw):
|
def listitem(self, on, **kw):
|
||||||
if on:
|
if on:
|
||||||
|
self._did_para = False
|
||||||
if self._nested_lists:
|
if self._nested_lists:
|
||||||
number = self._nested_lists[-1]
|
number = self._nested_lists[-1]
|
||||||
if number:
|
if number:
|
||||||
|
@ -122,14 +124,15 @@ class Formatter(FormatterBase):
|
||||||
self._nested_lists[-1] = number + 1
|
self._nested_lists[-1] = number + 1
|
||||||
else:
|
else:
|
||||||
bullet = '*'
|
bullet = '*'
|
||||||
self._did_para = 1
|
|
||||||
return ' %s%s ' % (' ' * (len(self._nested_lists)-1), bullet)
|
return ' %s%s ' % (' ' * (len(self._nested_lists)-1), bullet)
|
||||||
else:
|
else:
|
||||||
self._did_para = 1
|
|
||||||
return u' * '
|
return u' * '
|
||||||
else:
|
else:
|
||||||
self._did_para = 1
|
if self._did_para:
|
||||||
return u'\n'
|
return u''
|
||||||
|
else:
|
||||||
|
self._did_para = True
|
||||||
|
return u'\n'
|
||||||
|
|
||||||
def sup(self, on):
|
def sup(self, on):
|
||||||
return u'^'
|
return u'^'
|
||||||
|
@ -185,11 +188,19 @@ class Formatter(FormatterBase):
|
||||||
|
|
||||||
def paragraph(self, on):
|
def paragraph(self, on):
|
||||||
FormatterBase.paragraph(self, on)
|
FormatterBase.paragraph(self, on)
|
||||||
if self._did_para:
|
if on:
|
||||||
on = 0
|
self._did_para = False
|
||||||
return [u'\n', u''][not on]
|
return u''
|
||||||
|
else:
|
||||||
|
if self._did_para or self._nested_lists:
|
||||||
|
self._did_para = True
|
||||||
|
return u'\n'
|
||||||
|
else:
|
||||||
|
self._did_para = True
|
||||||
|
return u'\n\n'
|
||||||
|
|
||||||
def linebreak(self, preformatted=1):
|
def linebreak(self, preformatted=1):
|
||||||
|
self._did_para = True
|
||||||
return u'\n'
|
return u'\n'
|
||||||
|
|
||||||
def smiley(self, text):
|
def smiley(self, text):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue