Advertisement
Guest User

Roberto Alsina

a guest
Jun 3rd, 2009
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.62 KB | None | 0 0
  1. class DelayedParagraph(IndexingFlowable):
  2.     """A flowable that inserts a paragraph, but will only do so and be satisfied
  3.    when it has some required data, such as page numbers"""
  4.     def __init__(self, text, style,
  5.         bulletText = None, frags=None, caseSensitive=1, encoding='utf8'):
  6.         self.text=text
  7.         self.style=style
  8.         self.bulletText=bulletText
  9.         self.frags=frags
  10.         self.caseSensitive=caseSensitive
  11.         self.encoding=encoding
  12.         self._satisfied=False
  13.         self.refs={}
  14.        
  15.     def isSatisfied(self):
  16.         print 'satisfied',self._satisfied
  17.         return self._satisfied
  18.        
  19.     def wrap(self, w, h):
  20.         print 'wrap'
  21.         self.para=Paragraph(self.text,self.style,self.bulletText,self.frags,self.
  22.         caseSensitive,self.encoding)
  23.         return self.para.wrap(w,h)
  24.  
  25.     def split(self, w, h):
  26.         print 'split'
  27.         return self.para.split(w, h)
  28.  
  29.     def drawOn(self, canvas, x, y, _sW=0):
  30.         print 'drawOn'
  31.         self.para.drawOn(canvas, x, y, _sW)
  32.        
  33.     def notify(self,kind,stuff):
  34.         if kind=='Reference':
  35.             print "Stuff",stuff
  36.             refid,page=stuff
  37.             self.refs[refid]=page
  38.             # Try to resolve page references
  39.             try:
  40.                 # Text wil be something like
  41.                 #'Go see A title (Page %(a-title)s)'
  42.                 # and self.refs would be
  43.                 # {'a-title': 2}
  44.                 self.text=self.text%self.refs
  45.                 print self.text,self.refs
  46.                 self._satisfied=True
  47.             except:
  48.                 pass
  49.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement