Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class DelayedParagraph(IndexingFlowable):
- """A flowable that inserts a paragraph, but will only do so and be satisfied
- when it has some required data, such as page numbers"""
- def __init__(self, text, style,
- bulletText = None, frags=None, caseSensitive=1, encoding='utf8'):
- self.text=text
- self.style=style
- self.bulletText=bulletText
- self.frags=frags
- self.caseSensitive=caseSensitive
- self.encoding=encoding
- self._satisfied=False
- self.refs={}
- def isSatisfied(self):
- print 'satisfied',self._satisfied
- return self._satisfied
- def wrap(self, w, h):
- print 'wrap'
- self.para=Paragraph(self.text,self.style,self.bulletText,self.frags,self.
- caseSensitive,self.encoding)
- return self.para.wrap(w,h)
- def split(self, w, h):
- print 'split'
- return self.para.split(w, h)
- def drawOn(self, canvas, x, y, _sW=0):
- print 'drawOn'
- self.para.drawOn(canvas, x, y, _sW)
- def notify(self,kind,stuff):
- if kind=='Reference':
- print "Stuff",stuff
- refid,page=stuff
- self.refs[refid]=page
- # Try to resolve page references
- try:
- # Text wil be something like
- #'Go see A title (Page %(a-title)s)'
- # and self.refs would be
- # {'a-title': 2}
- self.text=self.text%self.refs
- print self.text,self.refs
- self._satisfied=True
- except:
- pass
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement