[PythonReports-checkins] PythonReports/PythonReports builder.py, 1.1, 1.2
Brought to you by:
a1s
From: alexander s. <a1...@us...> - 2006-11-04 14:38:27
|
Update of /cvsroot/pythonreports/PythonReports/PythonReports In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32275 Modified Files: builder.py Log Message: Builder: delay text_drivers initialization until run, added backend selection parameters for __init__ Index: builder.py =================================================================== RCS file: /cvsroot/pythonreports/PythonReports/PythonReports/builder.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** builder.py 1 Nov 2006 11:05:19 -0000 1.1 --- builder.py 4 Nov 2006 14:38:24 -0000 1.2 *************** *** 2,5 **** --- 2,7 ---- # FIXME: column-based variables are not intelligible """History (most recent first): + 04-nov-2006 [als] Builder: delay text_drivers initialization until run, + added backend selection parameters for __init__ 20-oct-2006 [als] Barcode X dimension attr renamed to "module" 20-oct-2006 [als] Structure moved to datatypes *************** *** 936,944 **** layout_parents = {} ! def __init__(self, template, data=(), parameters=None, item_callback=None): """Initialize builder Parameters: ! template: PRT file name or ElementTree With loaded report template data: report data sequence parameters: values for report parameters --- 938,949 ---- layout_parents = {} ! def __init__(self, template, data=(), parameters=None, ! item_callback=None, text_driver=None, image_driver=None, ! ): """Initialize builder Parameters: ! template: PRT file name or ElementTree ! with loaded report template data: report data sequence parameters: values for report parameters *************** *** 947,950 **** --- 952,959 ---- that will be called without arguments for each item of the data sequence. + text_backend: optional name of preferred text + driver backend, e.g. "wx" or "Tk". + image_backend: optional name of preferred image + driver backend, e.g. "wx". """ *************** *** 959,964 **** self.parameters = {} self.callback = item_callback ! self.text_driver_factory = drivers.get_driver("Text") ! self.image_driver_factory = drivers.get_driver("Image") self.basedir = template.getroot().get("basedir", None) if not self.basedir: --- 968,973 ---- self.parameters = {} self.callback = item_callback ! self.text_driver_factory = drivers.get_driver("Text", text_backend) ! self.image_driver_factory = drivers.get_driver("Image", image_backend) self.basedir = template.getroot().get("basedir", None) if not self.basedir: *************** *** 969,974 **** self.variables = [Variable(_item) for _item in template.variables.itervalues()] - self.text_drivers = dict([(_name, self.text_driver_factory(_font)) - for (_name, _font) in template.fonts.iteritems()]) # image collections: # - kept in files --- 978,981 ---- *************** *** 1199,1202 **** --- 1206,1212 ---- else: _callback = self.callback + # initialize fonts - moved from __init__() to allow backend switching + self.text_drivers = dict([(_name, self.text_driver_factory(_font)) + for (_name, _font) in template.fonts.iteritems()]) _data_iter = self.start(data, parameters) if _callback: |