Package Pyblio :: Package Format :: Module Text
[hide private]
[frames] | no frames]

Source Code for Module Pyblio.Format.Text

 1  # This file is part of pybliographer 
 2  #  
 3  # Copyright (C) 1998-2006 Frederic GOBRY 
 4  # Email : gobry@pybliographer.org 
 5  #           
 6  # This program is free software; you can redistribute it and/or 
 7  # modify it under the terms of the GNU General Public License 
 8  # as published by the Free Software Foundation; either version 2  
 9  # of the License, or (at your option) any later version. 
10  #    
11  # This program is distributed in the hope that it will be useful, 
12  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
13  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
14  # GNU General Public License for more details.  
15  #  
16  # You should have received a copy of the GNU General Public License 
17  # along with this program; if not, write to the Free Software 
18  # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. 
19  # 
20   
21  """ 
22  Transformation of the formatted record into a textual representation. 
23  """ 
24   
25  from Pyblio.Format.Generator import Generator as Base 
26  from StringIO import StringIO 
27   
28 -class Generator(Base):
29
30 - def __init__(self, fd):
31 self.fd = fd 32 return
33
34 - def do_string(self, t):
35 self.fd.write(t)
36
37 - def do_a(self, t):
38 self.fd.write('%s <%s>' % (''.join (map (generate, t.children)), 39 t.attributes ['href']))
40
41 - def do_br(self, t):
42 self.fd.write('\n')
43 44 do_i = Base.do_t 45 do_b = Base.do_t 46 do_small = Base.do_t 47 do_span = Base.do_t
48
49 -def generate(t):
50 """ Convenience function that generates the text in a string """ 51 fd = StringIO() 52 g = Generator(fd) 53 g(t) 54 55 return fd.getvalue()
56