Update of /cvsroot/docstring/dps/dps/transforms
In directory usw-pr-cvs1:/tmp/cvs-serv11195/dps/dps/transforms
Modified Files:
references.py
Log Message:
- Added footnote numbering transform.
Index: references.py
===================================================================
RCS file: /cvsroot/docstring/dps/dps/transforms/references.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** references.py 2002/01/26 00:10:09 1.1
--- references.py 2002/01/28 02:19:47 1.2
***************
*** 302,306 ****
def transform(self, doctree):
! pass
--- 302,345 ----
def transform(self, doctree):
! self.setup_transform(doctree)
! startnum = doctree.autofootnote_start
! self.autofootnote_labels = []
! self.number_footnotes()
! self.number_footnote_references(startnum)
!
! def number_footnotes(self):
! for footnote in self.doctree.autofootnotes:
! label = str(self.doctree.autofootnote_start)
! self.doctree.autofootnote_start += 1
! footnote.insert(0, nodes.label('', label))
! if footnote.hasattr('dupname'):
! continue
! if footnote.hasattr('name'):
! name = footnote['name']
! for ref in self.doctree.footnote_refs.get(name, []):
! ref += nodes.Text(label)
! ref.resolved = 1
! else:
! footnote['name'] = label
! self.doctree.note_explicit_target(footnote, footnote)
! self.autofootnote_labels.append(label)
!
! def number_footnote_references(self, startnum):
! i = 0
! for ref in self.doctree.autofootnote_refs:
! if ref.resolved or ref.hasattr('refname'):
! continue
! try:
! ref += nodes.Text(self.autofootnote_labels[i])
! ref['refname'] = self.autofootnote_labels[i]
! except IndexError:
! sw = self.doctree.reporter.error(
! 'Too many autonumbered footnote references: only %s '
! 'corresponding footnotes available.'
! % len(self.autofootnote_labels))
! self.doctree += sw
! break
! ref.resolved = 1
! i += 1
|