commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue/reports/src adapters/destinations/email/se...


From: Jason Cater
Subject: gnue/reports/src adapters/destinations/email/se...
Date: Wed, 01 Jan 2003 21:36:53 -0500

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    03/01/01 21:36:53

Modified files:
        reports/src/adapters/destinations/email: sendmail.py smtp.py 
        reports/src/adapters/destinations/fax: hylafax.py 
        reports/src/adapters/destinations/file: stdout.py text.py 
        reports/src/adapters/destinations/printer: bsd.py 
        reports/src/adapters/filters/Labels/labels: Adapter.py 
        reports/src/adapters/filters/MailMerge/_merge: MergeBase.py 
        reports/src/adapters/filters/SimpleTabulation/tabulator: 
                                                                 Adapter.py 
        reports/src/adapters/filters/SimpleTabulation/tabulator/formatters: 
                                                                            
pdf.py 
        reports/src/adapters/filters/general/4xslt: Adapter.py 
        reports/src/adapters/filters/general/raw: Adapter.py 
        reports/src/adapters/filters/general/sablotron: Adapter.py 
        reports/src/base: GRParser.py 
        reports/src/base/layout: ContainerElement.py GRDefault.py 
                                 GRField.py GRFirstRow.py GRFormula.py 
                                 GRLastRow.py GRLayout.py 
                                 GRLayoutElement.py GRNotFirstRow.py 
                                 GRNotLastRow.py GRParam.py 
                                 GRPassThru.py GRSection.py GRSumm.py 
                                 __init__.py 
        reports/src/client: GRRun.py 

Log message:
        cleaning up reports structure (fixes)

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/destinations/email/sendmail.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/destinations/email/smtp.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/destinations/fax/hylafax.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/destinations/file/stdout.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/destinations/file/text.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/destinations/printer/bsd.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Labels/labels/Adapter.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/MailMerge/_merge/MergeBase.py.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/SimpleTabulation/tabulator/Adapter.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/SimpleTabulation/tabulator/formatters/pdf.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/general/4xslt/Adapter.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/general/raw/Adapter.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/general/sablotron/Adapter.py.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/base/GRParser.py.diff?tr1=1.32&tr2=1.33&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/base/layout/ContainerElement.py.diff?tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/base/layout/GRDefault.py.diff?tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/base/layout/GRField.py.diff?tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/base/layout/GRFirstRow.py.diff?tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/base/layout/GRFormula.py.diff?tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/base/layout/GRLastRow.py.diff?tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/base/layout/GRLayout.py.diff?tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/base/layout/GRLayoutElement.py.diff?tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/base/layout/GRNotFirstRow.py.diff?tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/base/layout/GRNotLastRow.py.diff?tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/base/layout/GRParam.py.diff?tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/base/layout/GRPassThru.py.diff?tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/base/layout/GRSection.py.diff?tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/base/layout/GRSumm.py.diff?tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/base/layout/__init__.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/client/GRRun.py.diff?tr1=1.24&tr2=1.25&r1=text&r2=text

Patches:
Index: gnue/reports/src/adapters/destinations/email/sendmail.py
diff -c gnue/reports/src/adapters/destinations/email/sendmail.py:1.7 
gnue/reports/src/adapters/destinations/email/sendmail.py:1.8
*** gnue/reports/src/adapters/destinations/email/sendmail.py:1.7        Wed Jan 
 1 19:45:49 2003
--- gnue/reports/src/adapters/destinations/email/sendmail.py    Wed Jan  1 
21:36:52 2003
***************
*** 29,35 ****
  
  from gnue.common import GMimeTypes
  from gnue.reports import VERSION
! from gnue.reports.GROutputAdapter import DestinationAdapter as Base
  import sys, os, string
  from mimetools import choose_boundary
  from MimeWriter import MimeWriter
--- 29,35 ----
  
  from gnue.common import GMimeTypes
  from gnue.reports import VERSION
! from gnue.reports.base.GROutputAdapter import DestinationAdapter as Base
  import sys, os, string
  from mimetools import choose_boundary
  from MimeWriter import MimeWriter
Index: gnue/reports/src/adapters/destinations/email/smtp.py
diff -c gnue/reports/src/adapters/destinations/email/smtp.py:1.5 
gnue/reports/src/adapters/destinations/email/smtp.py:1.6
*** gnue/reports/src/adapters/destinations/email/smtp.py:1.5    Wed Jan  1 
19:45:49 2003
--- gnue/reports/src/adapters/destinations/email/smtp.py        Wed Jan  1 
21:36:52 2003
***************
*** 29,35 ****
  
  import sys
  
! from gnue.reports.GROutputAdapter import DestinationAdapter as Base
  
  class DestinationAdapter(Base):
  
--- 29,35 ----
  
  import sys
  
! from gnue.reports.base.GROutputAdapter import DestinationAdapter as Base
  
  class DestinationAdapter(Base):
  
Index: gnue/reports/src/adapters/destinations/fax/hylafax.py
diff -c gnue/reports/src/adapters/destinations/fax/hylafax.py:1.6 
gnue/reports/src/adapters/destinations/fax/hylafax.py:1.7
*** gnue/reports/src/adapters/destinations/fax/hylafax.py:1.6   Wed Jan  1 
19:45:49 2003
--- gnue/reports/src/adapters/destinations/fax/hylafax.py       Wed Jan  1 
21:36:52 2003
***************
*** 29,35 ****
  
  
  from gnue.reports import VERSION
! from gnue.reports.GROutputAdapter import DestinationAdapter as Base
  import sys, os, string
  
  
--- 29,35 ----
  
  
  from gnue.reports import VERSION
! from gnue.reports.base.GROutputAdapter import DestinationAdapter as Base
  import sys, os, string
  
  
Index: gnue/reports/src/adapters/destinations/file/stdout.py
diff -c gnue/reports/src/adapters/destinations/file/stdout.py:1.3 
gnue/reports/src/adapters/destinations/file/stdout.py:1.4
*** gnue/reports/src/adapters/destinations/file/stdout.py:1.3   Wed Jan  1 
19:45:49 2003
--- gnue/reports/src/adapters/destinations/file/stdout.py       Wed Jan  1 
21:36:52 2003
***************
*** 29,35 ****
  
  import sys
  
! from gnue.reports.GROutputAdapter import DestinationAdapter as Base
  
  class DestinationAdapter(Base):
  
--- 29,35 ----
  
  import sys
  
! from gnue.reports.base.GROutputAdapter import DestinationAdapter as Base
  
  class DestinationAdapter(Base):
  
Index: gnue/reports/src/adapters/destinations/file/text.py
diff -c gnue/reports/src/adapters/destinations/file/text.py:1.5 
gnue/reports/src/adapters/destinations/file/text.py:1.6
*** gnue/reports/src/adapters/destinations/file/text.py:1.5     Wed Jan  1 
19:45:49 2003
--- gnue/reports/src/adapters/destinations/file/text.py Wed Jan  1 21:36:52 2003
***************
*** 28,34 ****
  #
  
  
! from gnue.reports.GROutputAdapter import DestinationAdapter as Base
  
  class DestinationAdapter(Base):
  
--- 28,34 ----
  #
  
  
! from gnue.reports.base.GROutputAdapter import DestinationAdapter as Base
  
  class DestinationAdapter(Base):
  
Index: gnue/reports/src/adapters/destinations/printer/bsd.py
diff -c gnue/reports/src/adapters/destinations/printer/bsd.py:1.5 
gnue/reports/src/adapters/destinations/printer/bsd.py:1.6
*** gnue/reports/src/adapters/destinations/printer/bsd.py:1.5   Wed Jan  1 
19:45:49 2003
--- gnue/reports/src/adapters/destinations/printer/bsd.py       Wed Jan  1 
21:36:52 2003
***************
*** 29,35 ****
  
  
  from gnue.reports import VERSION
! from gnue.reports.GROutputAdapter import DestinationAdapter as Base
  from gnue.common import GDebug
  import sys, os, string
  
--- 29,35 ----
  
  
  from gnue.reports import VERSION
! from gnue.reports.base.GROutputAdapter import DestinationAdapter as Base
  from gnue.common import GDebug
  import sys, os, string
  
Index: gnue/reports/src/adapters/filters/Labels/labels/Adapter.py
diff -c gnue/reports/src/adapters/filters/Labels/labels/Adapter.py:1.4 
gnue/reports/src/adapters/filters/Labels/labels/Adapter.py:1.5
*** gnue/reports/src/adapters/filters/Labels/labels/Adapter.py:1.4      Wed Jan 
 1 19:45:49 2003
--- gnue/reports/src/adapters/filters/Labels/labels/Adapter.py  Wed Jan  1 
21:36:52 2003
***************
*** 31,37 ****
  import xml.sax
  import os.path
  
! from gnue.reports.GROutputAdapter import TransformAdapter as Base
  import LabelSpecs
  import formatters
  
--- 31,37 ----
  import xml.sax
  import os.path
  
! from gnue.reports.base.GROutputAdapter import TransformAdapter as Base
  import LabelSpecs
  import formatters
  
Index: gnue/reports/src/adapters/filters/MailMerge/_merge/MergeBase.py
diff -c gnue/reports/src/adapters/filters/MailMerge/_merge/MergeBase.py:1.8 
gnue/reports/src/adapters/filters/MailMerge/_merge/MergeBase.py:1.9
*** gnue/reports/src/adapters/filters/MailMerge/_merge/MergeBase.py:1.8 Wed Jan 
 1 19:45:49 2003
--- gnue/reports/src/adapters/filters/MailMerge/_merge/MergeBase.py     Wed Jan 
 1 21:36:52 2003
***************
*** 30,36 ****
  import string, sys, re
  import xml.sax
  
! from gnue.reports.GROutputAdapter import TransformAdapter as Base
  
  
  class TransformAdapter(Base, xml.sax.ContentHandler):
--- 30,36 ----
  import string, sys, re
  import xml.sax
  
! from gnue.reports.base.GROutputAdapter import TransformAdapter as Base
  
  
  class TransformAdapter(Base, xml.sax.ContentHandler):
Index: gnue/reports/src/adapters/filters/SimpleTabulation/tabulator/Adapter.py
diff -c 
gnue/reports/src/adapters/filters/SimpleTabulation/tabulator/Adapter.py:1.3 
gnue/reports/src/adapters/filters/SimpleTabulation/tabulator/Adapter.py:1.4
*** gnue/reports/src/adapters/filters/SimpleTabulation/tabulator/Adapter.py:1.3 
Wed Jan  1 19:45:49 2003
--- gnue/reports/src/adapters/filters/SimpleTabulation/tabulator/Adapter.py     
Wed Jan  1 21:36:52 2003
***************
*** 31,37 ****
  import xml.sax
  
  from gnue.common import GTypecast
! from gnue.reports.GROutputAdapter import TransformAdapter as Base
  import formatters
  
  class TransformAdapter(Base, xml.sax.ContentHandler):
--- 31,37 ----
  import xml.sax
  
  from gnue.common import GTypecast
! from gnue.reports.base.GROutputAdapter import TransformAdapter as Base
  import formatters
  
  class TransformAdapter(Base, xml.sax.ContentHandler):
Index: 
gnue/reports/src/adapters/filters/SimpleTabulation/tabulator/formatters/pdf.py
diff -c 
gnue/reports/src/adapters/filters/SimpleTabulation/tabulator/formatters/pdf.py:1.3
 
gnue/reports/src/adapters/filters/SimpleTabulation/tabulator/formatters/pdf.py:1.4
*** 
gnue/reports/src/adapters/filters/SimpleTabulation/tabulator/formatters/pdf.py:1.3
  Wed Jan  1 19:45:49 2003
--- 
gnue/reports/src/adapters/filters/SimpleTabulation/tabulator/formatters/pdf.py  
    Wed Jan  1 21:36:52 2003
***************
*** 1,207 ****
! #
! # This file is part of GNU Enterprise.
! #
! # GNU Enterprise is free software; you can redistribute it
! # and/or modify it under the terms of the GNU General Public
! # License as published by the Free Software Foundation; either
! # version 2, or (at your option) any later version.
! #
! # GNU Enterprise is distributed in the hope that it will be
! # useful, but WITHOUT ANY WARRANTY; without even the implied
! # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
! # PURPOSE. See the GNU General Public License for more details.
! #
! # You should have received a copy of the GNU General Public
! # License along with program; see the file COPYING. If not,
! # write to the Free Software Foundation, Inc., 59 Temple Place
! # - Suite 330, Boston, MA 02111-1307, USA.
! #
! # Copyright 2002-2003 Free Software Foundation
! #
! # FILE:
! # direct/formatters/pdf.py
! #
! # DESCRIPTION:
! # Transforms adapter for direct
! #
! # NOTES:
! #  DocTemplates: contain one or more PageTemplates
! #  PageTemplates: contain one or more Frames
! #  Frames: contain flowables, like Paragraph or Table
! #
! 
! import sys
! 
! try:
!   from reportlab.pdfgen import canvas
! except ImportError:
!   print "Unable to load reportlab"
!   sys.exit()
! 
! from reportlab.platypus.doctemplate import PageTemplate, BaseDocTemplate
! from reportlab.platypus import Table, Paragraph
! from reportlab.platypus.frames import Frame
! from reportlab.lib.styles import getSampleStyleSheet
! from reportlab.rl_config import defaultPageSize
! from reportlab.lib import colors
! from reportlab.lib.units import cm
! 
! PAGE_WIDTH = defaultPageSize[0]
! PAGE_HEIGHT = defaultPageSize[1]
! 
! class DirectFormatter:
! 
!   def __init__(self, destination, stylesheet, options={}):
!     self.dest = destination
!     self.options = options
! 
!     self._reporttitle = ''
!     self._sectiontitle = ''
!     # TODO
!     # self.stylesheet = stylesheet
! 
! 
!   # Used to paint non-flowing (i.e standard) parts of pages
!   def myPages(self, canvas, doc):
!     canvas.saveState()
!     
!     # first frame for title and sectiontitle
!     f1 = Frame(self._doc.leftMargin-cm, 
self._doc.bottomMargin+self._doc.height-0.4*cm,
!                     self._doc.width+2*cm, 2.5*cm, 
!                     leftPadding=0, bottomPadding=0, rightPadding=0, 
topPadding=0, 
!                     id='title', showBoundary=0)
!     p1 = Paragraph(self._reporttitle, getSampleStyleSheet()["Title"])
! 
!     canvas.setStrokeColor(colors.grey)
!     canvas.line(self._doc.leftMargin-cm, 
self._doc.bottomMargin+self._doc.height+1.0*cm,
!                     self._doc.leftMargin+self._doc.width+cm, 
self._doc.bottomMargin+self._doc.height+1.0*cm)
!     p2 = Paragraph(self._sectiontitle, getSampleStyleSheet()["Heading2"])
!     f1.addFromList([p1, p2], canvas)
! 
!     # second frame for table heading
!     f2 = Frame(self._doc.leftMargin, 
self._doc.bottomMargin+self._doc.height-cm,
!                     self._doc.width, 0.65*cm, 
!                     leftPadding=0, bottomPadding=0, rightPadding=0, 
topPadding=0, 
!                     id='head', showBoundary=0)
! 
!     # white on black for table heading
!     Style = [elem for elem in self._tableStyle]
!     Style.append(('BACKGROUND', (0,0), (-1,-1), colors.black))
!     Style.append(('TEXTCOLOR', (0,0), (-1,-1), colors.white))
! 
!     t = Table([self._tableHead], colWidths=self._colwidth, style=Style)
!     f2.addFromList([t], canvas)
! 
!     # page numbering
!     canvas.drawCentredString(PAGE_WIDTH/2, 0.5*cm, "-%d-" % doc.page)
!     canvas.restoreState()
! 
! 
!   def BeginReport(self):
!     self._doc = BaseDocTemplate(self.dest)
!     self._body = []
! 
! 
!   def EndReport(self):
!     # third frame for table body
!     frame = Frame(self._doc.leftMargin, self._doc.bottomMargin,
!                          self._doc.width, self._doc.height-cm, 
!                          leftPadding=0, bottomPadding=0, rightPadding=0, 
topPadding=0, 
!                          id='body', showBoundary=0)
!     pt = PageTemplate(id='All', frames=frame, onPage=self.myPages, 
pagesize=self._doc.pagesize)
!     self._doc.addPageTemplates(pt)
!     self._doc.build(self._body)
!     
!     
!   def BeginReportTitle(self):
!     pass
!     
!     
!   def EndReportTitle(self, reporttitle):
!     self._reporttitle = reporttitle
! 
! 
!   def BeginSection(self):
!     pass
!   
!   
!   def EndSection(self):
!     pass
! 
! 
!   def BeginSectionTitle(self):
!     pass
!     
!     
!   def EndSectionTitle(self, sectiontitle):
!     self._sectiontitle = sectiontitle
! 
! 
!   def BeginTable(self):
!     self._odd = 1
! 
! 
!   def EndTable(self):
!     pass
! 
! 
!   def BeginTableHead(self):
!     self._tableAlign = []
!     self._tableHead = []
!     self._colwidth = []
!     self._headwidth = 0
!     self._numCols = 0
! 
!   def EndTableHead(self):
!     self._tableStyle = []
!     for i in range(self._numCols):
!       self._tableStyle.append(('ALIGN', (i, 0), (i, 0), 
self._tableAlign[i].upper()))
!       self._colwidth[i] = (self._doc.width/self._headwidth)*self._colwidth[i]
!       
!     self._oddStyle = [elem for elem in self._tableStyle]
!     self._oddStyle.append(('BACKGROUND', (0,0), (-1,-1), colors.lightgrey))
!     self._oddStyle.append(('TEXTCOLOR', (0,0), (-1,-1), colors.black))
!     
!     self._subtotalStyle = [elem for elem in self._tableStyle]
!     self._subtotalStyle.append(('LINEABOVE', (0,0), (-1,-1), 0.25, 
colors.black))
!     self._subtotalStyle.append(('FONTNAME', (0,0), (-1,-1), 'Helvetica-Bold'))
! 
!   def BeginColHead(self):
!     pass
! 
! 
!   def EndColHead(self, colhead, width, alignment=None):
!     self._tableHead.append(colhead)
!     self._tableAlign.append(alignment)
!     self._colwidth.append(width)
!     self._headwidth += width
!     self._numCols += 1
! 
! 
!   def BeginRow(self, rowtype=None):
!     self._row = []
!     if rowtype == 'subtotal':
!       self._rowStyle = self._subtotalStyle
!     else:
!       if self._odd:
!         self._rowStyle = self._oddStyle
!       else:
!         self._rowStyle = self._tableStyle
! 
! 
!   def EndRow(self):
!     t = Table([self._row], colWidths=self._colwidth, style=self._rowStyle)
!     self._body.append(t)
!     self._odd = not self._odd
!     
! 
!   def BeginCol(self):
!     pass
! 
! 
!   def EndCol(self, col, index):
!     self._row.append(col)
!  
! 
! 
! 
--- 1,206 ----
! #
! # This file is part of GNU Enterprise.
! #
! # GNU Enterprise is free software; you can redistribute it
! # and/or modify it under the terms of the GNU General Public
! # License as published by the Free Software Foundation; either
! # version 2, or (at your option) any later version.
! #
! # GNU Enterprise is distributed in the hope that it will be
! # useful, but WITHOUT ANY WARRANTY; without even the implied
! # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
! # PURPOSE. See the GNU General Public License for more details.
! #
! # You should have received a copy of the GNU General Public
! # License along with program; see the file COPYING. If not,
! # write to the Free Software Foundation, Inc., 59 Temple Place
! # - Suite 330, Boston, MA 02111-1307, USA.
! #
! # Copyright 2002-2003 Free Software Foundation
! #
! # FILE:
! # direct/formatters/pdf.py
! #
! # DESCRIPTION:
! # Transforms adapter for direct
! #
! # NOTES:
! #  DocTemplates: contain one or more PageTemplates
! #  PageTemplates: contain one or more Frames
! #  Frames: contain flowables, like Paragraph or Table
! #
! 
! import sys
! 
! try:
!   from reportlab.pdfgen import canvas
! except ImportError:
!   raise "Unable to load reportlab"
! 
! from reportlab.platypus.doctemplate import PageTemplate, BaseDocTemplate
! from reportlab.platypus import Table, Paragraph
! from reportlab.platypus.frames import Frame
! from reportlab.lib.styles import getSampleStyleSheet
! from reportlab.rl_config import defaultPageSize
! from reportlab.lib import colors
! from reportlab.lib.units import cm
! 
! PAGE_WIDTH = defaultPageSize[0]
! PAGE_HEIGHT = defaultPageSize[1]
! 
! class DirectFormatter:
! 
!   def __init__(self, destination, stylesheet, options={}):
!     self.dest = destination
!     self.options = options
! 
!     self._reporttitle = ''
!     self._sectiontitle = ''
!     # TODO
!     # self.stylesheet = stylesheet
! 
! 
!   # Used to paint non-flowing (i.e standard) parts of pages
!   def myPages(self, canvas, doc):
!     canvas.saveState()
!     
!     # first frame for title and sectiontitle
!     f1 = Frame(self._doc.leftMargin-cm, 
self._doc.bottomMargin+self._doc.height-0.4*cm,
!                     self._doc.width+2*cm, 2.5*cm, 
!                     leftPadding=0, bottomPadding=0, rightPadding=0, 
topPadding=0, 
!                     id='title', showBoundary=0)
!     p1 = Paragraph(self._reporttitle, getSampleStyleSheet()["Title"])
! 
!     canvas.setStrokeColor(colors.grey)
!     canvas.line(self._doc.leftMargin-cm, 
self._doc.bottomMargin+self._doc.height+1.0*cm,
!                     self._doc.leftMargin+self._doc.width+cm, 
self._doc.bottomMargin+self._doc.height+1.0*cm)
!     p2 = Paragraph(self._sectiontitle, getSampleStyleSheet()["Heading2"])
!     f1.addFromList([p1, p2], canvas)
! 
!     # second frame for table heading
!     f2 = Frame(self._doc.leftMargin, 
self._doc.bottomMargin+self._doc.height-cm,
!                     self._doc.width, 0.65*cm, 
!                     leftPadding=0, bottomPadding=0, rightPadding=0, 
topPadding=0, 
!                     id='head', showBoundary=0)
! 
!     # white on black for table heading
!     Style = [elem for elem in self._tableStyle]
!     Style.append(('BACKGROUND', (0,0), (-1,-1), colors.black))
!     Style.append(('TEXTCOLOR', (0,0), (-1,-1), colors.white))
! 
!     t = Table([self._tableHead], colWidths=self._colwidth, style=Style)
!     f2.addFromList([t], canvas)
! 
!     # page numbering
!     canvas.drawCentredString(PAGE_WIDTH/2, 0.5*cm, "-%d-" % doc.page)
!     canvas.restoreState()
! 
! 
!   def BeginReport(self):
!     self._doc = BaseDocTemplate(self.dest)
!     self._body = []
! 
! 
!   def EndReport(self):
!     # third frame for table body
!     frame = Frame(self._doc.leftMargin, self._doc.bottomMargin,
!                          self._doc.width, self._doc.height-cm, 
!                          leftPadding=0, bottomPadding=0, rightPadding=0, 
topPadding=0, 
!                          id='body', showBoundary=0)
!     pt = PageTemplate(id='All', frames=frame, onPage=self.myPages, 
pagesize=self._doc.pagesize)
!     self._doc.addPageTemplates(pt)
!     self._doc.build(self._body)
!     
!     
!   def BeginReportTitle(self):
!     pass
!     
!     
!   def EndReportTitle(self, reporttitle):
!     self._reporttitle = reporttitle
! 
! 
!   def BeginSection(self):
!     pass
!   
!   
!   def EndSection(self):
!     pass
! 
! 
!   def BeginSectionTitle(self):
!     pass
!     
!     
!   def EndSectionTitle(self, sectiontitle):
!     self._sectiontitle = sectiontitle
! 
! 
!   def BeginTable(self):
!     self._odd = 1
! 
! 
!   def EndTable(self):
!     pass
! 
! 
!   def BeginTableHead(self):
!     self._tableAlign = []
!     self._tableHead = []
!     self._colwidth = []
!     self._headwidth = 0
!     self._numCols = 0
! 
!   def EndTableHead(self):
!     self._tableStyle = []
!     for i in range(self._numCols):
!       self._tableStyle.append(('ALIGN', (i, 0), (i, 0), 
self._tableAlign[i].upper()))
!       self._colwidth[i] = (self._doc.width/self._headwidth)*self._colwidth[i]
!       
!     self._oddStyle = [elem for elem in self._tableStyle]
!     self._oddStyle.append(('BACKGROUND', (0,0), (-1,-1), colors.lightgrey))
!     self._oddStyle.append(('TEXTCOLOR', (0,0), (-1,-1), colors.black))
!     
!     self._subtotalStyle = [elem for elem in self._tableStyle]
!     self._subtotalStyle.append(('LINEABOVE', (0,0), (-1,-1), 0.25, 
colors.black))
!     self._subtotalStyle.append(('FONTNAME', (0,0), (-1,-1), 'Helvetica-Bold'))
! 
!   def BeginColHead(self):
!     pass
! 
! 
!   def EndColHead(self, colhead, width, alignment=None):
!     self._tableHead.append(colhead)
!     self._tableAlign.append(alignment)
!     self._colwidth.append(width)
!     self._headwidth += width
!     self._numCols += 1
! 
! 
!   def BeginRow(self, rowtype=None):
!     self._row = []
!     if rowtype == 'subtotal':
!       self._rowStyle = self._subtotalStyle
!     else:
!       if self._odd:
!         self._rowStyle = self._oddStyle
!       else:
!         self._rowStyle = self._tableStyle
! 
! 
!   def EndRow(self):
!     t = Table([self._row], colWidths=self._colwidth, style=self._rowStyle)
!     self._body.append(t)
!     self._odd = not self._odd
!     
! 
!   def BeginCol(self):
!     pass
! 
! 
!   def EndCol(self, col, index):
!     self._row.append(col)
!  
! 
! 
! 
Index: gnue/reports/src/adapters/filters/general/4xslt/Adapter.py
diff -c gnue/reports/src/adapters/filters/general/4xslt/Adapter.py:1.3 
gnue/reports/src/adapters/filters/general/4xslt/Adapter.py:1.4
*** gnue/reports/src/adapters/filters/general/4xslt/Adapter.py:1.3      Wed Jan 
 1 19:45:49 2003
--- gnue/reports/src/adapters/filters/general/4xslt/Adapter.py  Wed Jan  1 
21:36:52 2003
***************
*** 32,42 ****
  try:
    from Ft.Xml.Xslt.Processor import Processor
  except ImportError:
!   print "Unable to load 4xslt"
!   sys.exit()
  
  from Ft.Xml import InputSource
! from gnue.reports.GROutputAdapter import TransformAdapter as Base
  
  
  class TransformAdapter(Base):
--- 32,41 ----
  try:
    from Ft.Xml.Xslt.Processor import Processor
  except ImportError:
!   raise "Unable to load 4xslt"
  
  from Ft.Xml import InputSource
! from gnue.reports.base.GROutputAdapter import TransformAdapter as Base
  
  
  class TransformAdapter(Base):
Index: gnue/reports/src/adapters/filters/general/raw/Adapter.py
diff -c gnue/reports/src/adapters/filters/general/raw/Adapter.py:1.2 
gnue/reports/src/adapters/filters/general/raw/Adapter.py:1.3
*** gnue/reports/src/adapters/filters/general/raw/Adapter.py:1.2        Wed Jan 
 1 19:45:49 2003
--- gnue/reports/src/adapters/filters/general/raw/Adapter.py    Wed Jan  1 
21:36:52 2003
***************
*** 30,36 ****
  #
  
  
! from gnue.reports.GROutputAdapter import TransformAdapter as Base
  
  class TransformAdapter(Base):
    def open(self):
--- 30,36 ----
  #
  
  
! from gnue.reports.base.GROutputAdapter import TransformAdapter as Base
  
  class TransformAdapter(Base):
    def open(self):
Index: gnue/reports/src/adapters/filters/general/sablotron/Adapter.py
diff -c gnue/reports/src/adapters/filters/general/sablotron/Adapter.py:1.10 
gnue/reports/src/adapters/filters/general/sablotron/Adapter.py:1.11
*** gnue/reports/src/adapters/filters/general/sablotron/Adapter.py:1.10 Wed Jan 
 1 19:45:49 2003
--- gnue/reports/src/adapters/filters/general/sablotron/Adapter.py      Wed Jan 
 1 21:36:52 2003
***************
*** 31,43 ****
  
  try:
    import PySablot
! ##  import Sablot  # TODO: Is this needed?? 
  except ImportError:
    print "Unable to load PySablot"
    sys.exit()
  
  
! from gnue.reports.GROutputAdapter import TransformAdapter as Base
  from gnue.common.FileUtils import urlize
  
  class TransformAdapter(Base):
--- 31,43 ----
  
  try:
    import PySablot
! ##  import Sablot  # TODO: Is this needed??
  except ImportError:
    print "Unable to load PySablot"
    sys.exit()
  
  
! from gnue.reports.base.GROutputAdapter import TransformAdapter as Base
  from gnue.common.FileUtils import urlize
  
  class TransformAdapter(Base):
Index: gnue/reports/src/base/GRParser.py
diff -c gnue/reports/src/base/GRParser.py:1.32 
gnue/reports/src/base/GRParser.py:1.33
*** gnue/reports/src/base/GRParser.py:1.32      Wed Jan  1 21:06:23 2003
--- gnue/reports/src/base/GRParser.py   Wed Jan  1 21:36:52 2003
***************
*** 29,36 ****
  # HISTORY:
  #
  
! from gnue.reports.base import GRReport, GRSources, GRParameters, GRSortOptions
! from gnue.reports.base import layout as GRLayout
  from gnue.common import GDataSource, GTypecast, GParser, GTrigger
  import copy, types
  
--- 29,35 ----
  # HISTORY:
  #
  
! 
  from gnue.common import GDataSource, GTypecast, GParser, GTrigger
  import copy, types
  
***************
*** 68,73 ****
--- 67,76 ----
  
    global xmlElements
  
+   # Here due to some nasty recursive imports
+   from gnue.reports.base import GRReport, GRSources, GRParameters, 
GRSortOptions
+   from gnue.reports.base import layout as GRLayout
+ 
    if xmlElements == None:
  
      #
***************
*** 295,301 ****
      # TODO: This is a hack and won't work if we proxy
      # TODO: layout events and create layout engines. ??
      #
!     self.xmlMasqueradeNamespaceElements = GRLayout.GRPassThru
  
      #
      self.xmlNamespaceAttributesAsPrefixes = 1
--- 298,305 ----
      # TODO: This is a hack and won't work if we proxy
      # TODO: layout events and create layout engines. ??
      #
!     from gnue.reports.base.layout import GRPassThru
!     self.xmlMasqueradeNamespaceElements = GRPassThru
  
      #
      self.xmlNamespaceAttributesAsPrefixes = 1
Index: gnue/reports/src/base/layout/ContainerElement.py
diff -c gnue/reports/src/base/layout/ContainerElement.py:1.52 
gnue/reports/src/base/layout/ContainerElement.py:1.53
*** gnue/reports/src/base/layout/ContainerElement.py:1.52       Wed Jan  1 
21:06:23 2003
--- gnue/reports/src/base/layout/ContainerElement.py    Wed Jan  1 21:36:52 2003
***************
*** 32,39 ****
  from gnue.common import GDebug, GConditions
  from gnue.common.GTrigger import GTrigger,GTriggerExtension
  
- from GRParameters import GRStubParam
- import GRExceptions
  import string
  from xml.sax import saxutils
  from GRLayoutElement import GRLayoutElement
--- 32,37 ----
***************
*** 58,64 ****
      first = isfirst or self._type == 'GRSection'
  
      while 1:
!       if isinstance(self, GRSection) :
          self.processTrigger('On-Process')
  
        for child in self._children:
--- 56,62 ----
      first = isfirst or self._type == 'GRSection'
  
      while 1:
!       if self._type == 'GRSection':
          self.processTrigger('On-Process')
  
        for child in self._children:
***************
*** 67,73 ****
          else:
            # Handle GRSections specially as
            # they require extra logic
!           if isinstance(child, GRSection):
              # If this is the top-most section for a datasource,
              # it needs to be called with processAsController.
              if child._mymapper.toplevel:
--- 65,71 ----
          else:
            # Handle GRSections specially as
            # they require extra logic
!           if child._type == 'GRSection':
              # If this is the top-most section for a datasource,
              # it needs to be called with processAsController.
              if child._mymapper.toplevel:
***************
*** 104,110 ****
    #  getAncestorWithSource()
    #
    def getAncestorWithSource(self, source):
!     if isinstance(self._parent, GRSection):
        return self._parent.getAncestorWithSource(source)
      else:
        return None
--- 102,108 ----
    #  getAncestorWithSource()
    #
    def getAncestorWithSource(self, source):
!     if self._parent._type == 'GRSection':
        return self._parent.getAncestorWithSource(source)
      else:
        return None
Index: gnue/reports/src/base/layout/GRDefault.py
diff -c gnue/reports/src/base/layout/GRDefault.py:1.52 
gnue/reports/src/base/layout/GRDefault.py:1.53
*** gnue/reports/src/base/layout/GRDefault.py:1.52      Wed Jan  1 21:06:23 2003
--- gnue/reports/src/base/layout/GRDefault.py   Wed Jan  1 21:36:52 2003
***************
*** 32,39 ****
  from gnue.common import GDebug, GConditions
  from gnue.common.GTrigger import GTrigger,GTriggerExtension
  
- from GRParameters import GRStubParam
- import GRExceptions
  import string
  from xml.sax import saxutils
  
--- 32,37 ----
***************
*** 54,64 ****
      self._mymapper = None
  
    def processDefault(self, dest, mapper):
!     structuralComment(dest,"<!-- [default] -->")
      for child in self._children:
        if child._type == "_content_":
          dest.write(child.getContent())
!     structuralComment(dest,"<!-- [/default] -->")
  
    def process(self, dest, mapper, isfirst, islast, firstSection, nextSection):
      return nextSection
--- 52,62 ----
      self._mymapper = None
  
    def processDefault(self, dest, mapper):
!     ## structuralComment(dest,"<!-- [default] -->")
      for child in self._children:
        if child._type == "_content_":
          dest.write(child.getContent())
!     ## structuralComment(dest,"<!-- [/default] -->")
  
    def process(self, dest, mapper, isfirst, islast, firstSection, nextSection):
      return nextSection
Index: gnue/reports/src/base/layout/GRField.py
diff -c gnue/reports/src/base/layout/GRField.py:1.52 
gnue/reports/src/base/layout/GRField.py:1.53
*** gnue/reports/src/base/layout/GRField.py:1.52        Wed Jan  1 21:06:23 2003
--- gnue/reports/src/base/layout/GRField.py     Wed Jan  1 21:36:52 2003
***************
*** 32,39 ****
  from gnue.common import GDebug, GConditions
  from gnue.common.GTrigger import GTrigger,GTriggerExtension
  
- from GRParameters import GRStubParam
- import GRExceptions
  import string
  from xml.sax import saxutils
  from GRLayoutElement import GRLayoutElement
--- 32,37 ----
***************
*** 50,57 ****
      self.format = None
  
    def _process(self, dest, mapper, isfirst, islast, firstSection, 
nextSection):
!     structuralComment(dest,"<!-- [field:%s] -->" % self.name)
      dest.write (string.replace(saxutils.escape("%s" % 
self._mymapper.getField(self.name,
                                                self.format)), '\r',''))
!     structuralComment(dest,"<!-- [/field:%s] -->" % self.name)
      return nextSection
--- 48,55 ----
      self.format = None
  
    def _process(self, dest, mapper, isfirst, islast, firstSection, 
nextSection):
!     ## structuralComment(dest,"<!-- [field:%s] -->" % self.name)
      dest.write (string.replace(saxutils.escape("%s" % 
self._mymapper.getField(self.name,
                                                self.format)), '\r',''))
!     ## structuralComment(dest,"<!-- [/field:%s] -->" % self.name)
      return nextSection
Index: gnue/reports/src/base/layout/GRFirstRow.py
diff -c gnue/reports/src/base/layout/GRFirstRow.py:1.52 
gnue/reports/src/base/layout/GRFirstRow.py:1.53
*** gnue/reports/src/base/layout/GRFirstRow.py:1.52     Wed Jan  1 21:06:23 2003
--- gnue/reports/src/base/layout/GRFirstRow.py  Wed Jan  1 21:36:52 2003
***************
*** 32,39 ****
  from gnue.common import GDebug, GConditions
  from gnue.common.GTrigger import GTrigger,GTriggerExtension
  
- from GRParameters import GRStubParam
- import GRExceptions
  import string
  from xml.sax import saxutils
  from ContainerElement import ContainerElement
--- 32,37 ----
Index: gnue/reports/src/base/layout/GRFormula.py
diff -c gnue/reports/src/base/layout/GRFormula.py:1.52 
gnue/reports/src/base/layout/GRFormula.py:1.53
*** gnue/reports/src/base/layout/GRFormula.py:1.52      Wed Jan  1 21:06:23 2003
--- gnue/reports/src/base/layout/GRFormula.py   Wed Jan  1 21:36:52 2003
***************
*** 32,39 ****
  from gnue.common import GDebug, GConditions
  from gnue.common.GTrigger import GTrigger,GTriggerExtension
  
- from GRParameters import GRStubParam
- import GRExceptions
  import string
  from xml.sax import saxutils
  from GRLayoutElement import GRLayoutElement
--- 32,37 ----
***************
*** 66,199 ****
      self._code = code
  
    def _process(self, dest, mapper, isfirst, islast, firstSection, 
nextSection):
!     structuralComment(dest,"<!-- [formula:%s] -->" % (self.section))
  #    dest.write (self._mymapper.getSummary(self._field, self.function, 
self.format))
!     structuralComment(dest,"<!-- [/formula] -->")
      return nextSection
- 
- 
- 
- ############################################################
- #
- # <summ> tag
- #
- class GRSumm (GRLayoutElement):
-   def __init__(self, parent):
-     GRLayoutElement.__init__(self, parent, 'GRSumm')
-     self.section = None
-     self.function = "count"
-     self.format = None
- 
-   def _buildObject(self):
-     if self.section:
-       self._section = string.lower(self.section)
-     else:
-       self._section = None
- 
-     self._field = string.lower(self.field)
-     return GRLayoutElement._buildObject(self)
- 
-   def _process(self, dest, mapper, isfirst, islast, firstSection, 
nextSection):
-     structuralComment(dest,"<!-- [summ:%s:%s:%s] -->" % (self.section, 
self._field, self.function))
-     dest.write (self._mymapper.getSummary(self._field, self.function, 
self.format))
-     structuralComment(dest,"<!-- [/summ] -->")
-     return nextSection
- 
- 
- 
- ############################################################
- #
- # Parameters
- #
- class GRParam(GRLayoutElement, GRStubParam):
-   _typestub = 'GRParam'
- 
-   def __init__(self, parent):
-     # This is passed parent=None so that
-     # the GObj.__init__ doesn't add this
-     # object twice to its parent (icky)
-     GRLayoutElement.__init__(self, parent=None)
-     GRStubParam.__init__(self, parent)
- 
-   def _process(self, dest, mapper, isfirst, islast, firstSection, 
nextSection):
-     structuralComment(dest,"<!-- [param:%s] -->" % self.name)
-     dest.write (self.getFormattedValue())
-     structuralComment(dest,"<!-- [/param:%s] -->" % self.name)
-     return nextSection
- 
- 
- 
- 
- ############################################################
- #
- # Logic support within sections
- #
- 
- class GRFirstRow(ContainerElement):
-   def __init__(self, parent):
-     ContainerElement.__init__(self, parent, 'GRFirstRow')
- 
-   def _process(self, dest, mapper, isfirst, islast, firstSection, 
nextSection):
-     if isfirst:
-       nextSection = self.processChildren(dest, mapper, isfirst, islast, 
firstSection, nextSection)
-     return nextSection
- 
- 
- 
- class GRNotFirstRow(ContainerElement):
-   def __init__(self, parent):
-     ContainerElement.__init__(self, parent, 'GRNotFirstRow')
- 
-   def _process(self, dest, mapper, isfirst, islast, firstSection, 
nextSection):
-     if not isfirst:
-       nextSection = self.processChildren(dest, mapper, isfirst, islast, 
firstSection, nextSection)
-     return nextSection
- 
- 
- class GRLastRow(ContainerElement):
-   def __init__(self, parent):
-     ContainerElement.__init__(self, parent, 'GRLastRow')
- 
-   def _process(self, dest, mapper, isfirst, islast, firstSection, 
nextSection):
-     if islast:
-       nextSection = self.processChildren(dest, mapper, isfirst, islast, 
firstSection, nextSection)
-     return nextSection
- 
- 
- class GRNotLastRow(ContainerElement):
-   def __init__(self, parent):
-     ContainerElement.__init__(self, parent, 'GRNotLastRow')
- 
-   def _process(self, dest, mapper, isfirst, islast, firstSection, 
nextSection):
-     if not islast:
-       nextSection = self.processChildren(dest, mapper, isfirst, islast, 
firstSection, nextSection)
-     return nextSection
- 
- 
- 
- ############################################################
- #
- # Any namespaced tags designed to
- # simply pass thru our layout engine
- #
- class GRPassThru(ContainerElement):
-   def __init__(self, parent):
-     ContainerElement.__init__(self, parent, 'GRPassThru')
- 
-   def _process(self, dest, mapper, isfirst, islast, firstSection, 
nextSection):
-     dest.write('<%s' % self._xmltag)
-     for attr in self._loadedxmlattrs.keys():
-       dest.write(' %s="%s"' % (attr, 
saxutils.escape(str(self._loadedxmlattrs[attr]))))
- 
-     if len(self._children):
-       dest.write('>')
-       nextSection = self.processChildren(dest, mapper, isfirst, islast, 
firstSection, nextSection)
-       dest.write('</%s>' % self._xmltag)
-     else:
-       dest.write('/>')
- 
-     return nextSection
- 
-   def getXmlTag(self):
-     return self._xmltag
  
--- 64,71 ----
      self._code = code
  
    def _process(self, dest, mapper, isfirst, islast, firstSection, 
nextSection):
!     ## structuralComment(dest,"<!-- [formula:%s] -->" % (self.section))
  #    dest.write (self._mymapper.getSummary(self._field, self.function, 
self.format))
!     ## structuralComment(dest,"<!-- [/formula] -->")
      return nextSection
  
Index: gnue/reports/src/base/layout/GRLastRow.py
diff -c gnue/reports/src/base/layout/GRLastRow.py:1.52 
gnue/reports/src/base/layout/GRLastRow.py:1.53
*** gnue/reports/src/base/layout/GRLastRow.py:1.52      Wed Jan  1 21:06:23 2003
--- gnue/reports/src/base/layout/GRLastRow.py   Wed Jan  1 21:36:52 2003
***************
*** 32,39 ****
  from gnue.common import GDebug, GConditions
  from gnue.common.GTrigger import GTrigger,GTriggerExtension
  
- from GRParameters import GRStubParam
- import GRExceptions
  import string
  from xml.sax import saxutils
  from ContainerElement import ContainerElement
--- 32,37 ----
Index: gnue/reports/src/base/layout/GRLayout.py
diff -c gnue/reports/src/base/layout/GRLayout.py:1.52 
gnue/reports/src/base/layout/GRLayout.py:1.53
*** gnue/reports/src/base/layout/GRLayout.py:1.52       Wed Jan  1 21:06:24 2003
--- gnue/reports/src/base/layout/GRLayout.py    Wed Jan  1 21:36:52 2003
***************
*** 30,39 ****
  
  from gnue.common.GObjects import *
  from gnue.common import GDebug, GConditions
- from gnue.common.GTrigger import GTrigger,GTriggerExtension
  
! from GRParameters import GRStubParam
! import GRExceptions
  import string
  from xml.sax import saxutils
  
--- 30,42 ----
  
  from gnue.common.GObjects import *
  from gnue.common import GDebug, GConditions
  
! from gnue.reports.base import GRExceptions
! from GRSection import GRSection
! from GRLayoutElement import GRLayoutElement
! from GRField import GRField
! from GRSumm import GRSumm
! 
  import string
  from xml.sax import saxutils
  
***************
*** 179,192 ****
    #
    def process(self, dest, includeStructuralComments=0):
  
!     global structuralComment
!     if includeStructuralComments:
!       structuralComment = _structuralComment
  
      for child in self._children:
!       structuralComment(dest, '<!-- [layout] -->')
        child.processAsController(dest, self._mapper)
!       structuralComment(dest, '<!-- [/layout] -->\n')
  
  
  
--- 182,195 ----
    #
    def process(self, dest, includeStructuralComments=0):
  
! ##    global structuralComment
! ##    if includeStructuralComments:
! ##      structuralComment = _structuralComment
  
      for child in self._children:
!       ## structuralComment(dest, '<!-- [layout] -->')
        child.processAsController(dest, self._mapper)
!       ## structuralComment(dest, '<!-- [/layout] -->\n')
  
  
  
Index: gnue/reports/src/base/layout/GRLayoutElement.py
diff -c gnue/reports/src/base/layout/GRLayoutElement.py:1.52 
gnue/reports/src/base/layout/GRLayoutElement.py:1.53
*** gnue/reports/src/base/layout/GRLayoutElement.py:1.52        Wed Jan  1 
21:06:24 2003
--- gnue/reports/src/base/layout/GRLayoutElement.py     Wed Jan  1 21:36:52 2003
***************
*** 32,39 ****
  from gnue.common import GDebug, GConditions
  from gnue.common.GTrigger import GTrigger,GTriggerExtension
  
- from GRParameters import GRStubParam
- import GRExceptions
  import string
  from xml.sax import saxutils
  
--- 32,37 ----
Index: gnue/reports/src/base/layout/GRNotFirstRow.py
diff -c gnue/reports/src/base/layout/GRNotFirstRow.py:1.52 
gnue/reports/src/base/layout/GRNotFirstRow.py:1.53
*** gnue/reports/src/base/layout/GRNotFirstRow.py:1.52  Wed Jan  1 21:06:24 2003
--- gnue/reports/src/base/layout/GRNotFirstRow.py       Wed Jan  1 21:36:52 2003
***************
*** 32,39 ****
  from gnue.common import GDebug, GConditions
  from gnue.common.GTrigger import GTrigger,GTriggerExtension
  
- from GRParameters import GRStubParam
- import GRExceptions
  import string
  from xml.sax import saxutils
  from ContainerElement import ContainerElement
--- 32,37 ----
Index: gnue/reports/src/base/layout/GRNotLastRow.py
diff -c gnue/reports/src/base/layout/GRNotLastRow.py:1.52 
gnue/reports/src/base/layout/GRNotLastRow.py:1.53
*** gnue/reports/src/base/layout/GRNotLastRow.py:1.52   Wed Jan  1 21:06:24 2003
--- gnue/reports/src/base/layout/GRNotLastRow.py        Wed Jan  1 21:36:52 2003
***************
*** 32,39 ****
  from gnue.common import GDebug, GConditions
  from gnue.common.GTrigger import GTrigger,GTriggerExtension
  
- from GRParameters import GRStubParam
- import GRExceptions
  import string
  from xml.sax import saxutils
  from ContainerElement import ContainerElement
--- 32,37 ----
Index: gnue/reports/src/base/layout/GRParam.py
diff -c gnue/reports/src/base/layout/GRParam.py:1.52 
gnue/reports/src/base/layout/GRParam.py:1.53
*** gnue/reports/src/base/layout/GRParam.py:1.52        Wed Jan  1 21:06:24 2003
--- gnue/reports/src/base/layout/GRParam.py     Wed Jan  1 21:36:52 2003
***************
*** 31,42 ****
  from gnue.common.GObjects import *
  from gnue.common import GDebug, GConditions
  from gnue.common.GTrigger import GTrigger,GTriggerExtension
- 
- from GRParameters import GRStubParam
- import GRExceptions
  import string
  from xml.sax import saxutils
  from GRLayoutElement import GRLayoutElement
  
  ############################################################
  #
--- 31,40 ----
  from gnue.common.GObjects import *
  from gnue.common import GDebug, GConditions
  from gnue.common.GTrigger import GTrigger,GTriggerExtension
  import string
  from xml.sax import saxutils
  from GRLayoutElement import GRLayoutElement
+ from gnue.reports.base.GRParameters import GRStubParam
  
  ############################################################
  #
***************
*** 53,59 ****
      GRStubParam.__init__(self, parent)
  
    def _process(self, dest, mapper, isfirst, islast, firstSection, 
nextSection):
!     structuralComment(dest,"<!-- [param:%s] -->" % self.name)
      dest.write (self.getFormattedValue())
!     structuralComment(dest,"<!-- [/param:%s] -->" % self.name)
      return nextSection
--- 51,57 ----
      GRStubParam.__init__(self, parent)
  
    def _process(self, dest, mapper, isfirst, islast, firstSection, 
nextSection):
!     ## structuralComment(dest,"<!-- [param:%s] -->" % self.name)
      dest.write (self.getFormattedValue())
!     ## structuralComment(dest,"<!-- [/param:%s] -->" % self.name)
      return nextSection
Index: gnue/reports/src/base/layout/GRPassThru.py
diff -c gnue/reports/src/base/layout/GRPassThru.py:1.52 
gnue/reports/src/base/layout/GRPassThru.py:1.53
*** gnue/reports/src/base/layout/GRPassThru.py:1.52     Wed Jan  1 21:06:24 2003
--- gnue/reports/src/base/layout/GRPassThru.py  Wed Jan  1 21:36:52 2003
***************
*** 28,40 ****
  #
  
  
! from gnue.common.GObjects import *
! from gnue.common import GDebug, GConditions
! from gnue.common.GTrigger import GTrigger,GTriggerExtension
! 
! from GRParameters import GRStubParam
! import GRExceptions
! import string
  from xml.sax import saxutils
  from ContainerElement import ContainerElement
  
--- 28,34 ----
  #
  
  
! from gnue.common import GDebug
  from xml.sax import saxutils
  from ContainerElement import ContainerElement
  
Index: gnue/reports/src/base/layout/GRSection.py
diff -c gnue/reports/src/base/layout/GRSection.py:1.52 
gnue/reports/src/base/layout/GRSection.py:1.53
*** gnue/reports/src/base/layout/GRSection.py:1.52      Wed Jan  1 21:06:24 2003
--- gnue/reports/src/base/layout/GRSection.py   Wed Jan  1 21:36:53 2003
***************
*** 28,42 ****
  #
  
  
! from gnue.common.GObjects import *
! from gnue.common import GDebug, GConditions
! from gnue.common.GTrigger import GTrigger,GTriggerExtension
! 
! from GRParameters import GRStubParam
! import GRExceptions
  import string
  from xml.sax import saxutils
! from GRLayoutElement import GRLayoutElement
  
  
  ############################################################
--- 28,38 ----
  #
  
  
! from gnue.common import GDebug
! from gnue.reports.base import GRExceptions
  import string
  from xml.sax import saxutils
! from ContainerElement import ContainerElement
  
  
  ############################################################
***************
*** 143,159 ****
    def _process(self, dest, mapper, isfirst, islast, firstSection, 
nextSection):
      self.processTrigger('Pre-Section')
      GDebug.printMesg(10,"Repeating Section %s" % self._name)
!     structuralComment(dest,"<!-- [section:%s] -->" % self._name)
      nextSection = self.processChildren(dest, mapper, isfirst, islast, 
firstSection, nextSection)
  
      try:
  
!       structuralComment(dest,"<!-- [Setting %s to clear on next set] -->" % 
self._name)
        mapper.sectionMap[self.name]._clearOnNextSet = 1
      except KeyError:
        pass
  
!     structuralComment(dest,"<!-- [/section:%s] -->" % self._name)
      GDebug.printMesg(10,"Leaving section %s" % self._name)
      self.processTrigger('Post-Section')
      return nextSection
--- 139,155 ----
    def _process(self, dest, mapper, isfirst, islast, firstSection, 
nextSection):
      self.processTrigger('Pre-Section')
      GDebug.printMesg(10,"Repeating Section %s" % self._name)
!     ## structuralComment(dest,"<!-- [section:%s] -->" % self._name)
      nextSection = self.processChildren(dest, mapper, isfirst, islast, 
firstSection, nextSection)
  
      try:
  
!       ## structuralComment(dest,"<!-- [Setting %s to clear on next set] -->" 
% self._name)
        mapper.sectionMap[self.name]._clearOnNextSet = 1
      except KeyError:
        pass
  
!     ## structuralComment(dest,"<!-- [/section:%s] -->" % self._name)
      GDebug.printMesg(10,"Leaving section %s" % self._name)
      self.processTrigger('Post-Section')
      return nextSection
Index: gnue/reports/src/base/layout/GRSumm.py
diff -c gnue/reports/src/base/layout/GRSumm.py:1.52 
gnue/reports/src/base/layout/GRSumm.py:1.53
*** gnue/reports/src/base/layout/GRSumm.py:1.52 Wed Jan  1 21:06:24 2003
--- gnue/reports/src/base/layout/GRSumm.py      Wed Jan  1 21:36:53 2003
***************
*** 29,36 ****
  
  
  from gnue.common import GDebug
- from GRParameters import GRStubParam
- import GRExceptions
  import string
  from GRLayoutElement import GRLayoutElement
  from xml.sax import saxutils
--- 29,34 ----
***************
*** 57,64 ****
      return GRLayoutElement._buildObject(self)
  
    def _process(self, dest, mapper, isfirst, islast, firstSection, 
nextSection):
!     structuralComment(dest,"<!-- [summ:%s:%s:%s] -->" % (self.section, 
self._field, self.function))
      dest.write (self._mymapper.getSummary(self._field, self.function, 
self.format))
!     structuralComment(dest,"<!-- [/summ] -->")
      return nextSection
  
--- 55,62 ----
      return GRLayoutElement._buildObject(self)
  
    def _process(self, dest, mapper, isfirst, islast, firstSection, 
nextSection):
!     ## structuralComment(dest,"<!-- [summ:%s:%s:%s] -->" % (self.section, 
self._field, self.function))
      dest.write (self._mymapper.getSummary(self._field, self.function, 
self.format))
!     ## structuralComment(dest,"<!-- [/summ] -->")
      return nextSection
  
Index: gnue/reports/src/base/layout/__init__.py
diff -c gnue/reports/src/base/layout/__init__.py:1.2 
gnue/reports/src/base/layout/__init__.py:1.3
*** gnue/reports/src/base/layout/__init__.py:1.2        Wed Jan  1 21:06:24 2003
--- gnue/reports/src/base/layout/__init__.py    Wed Jan  1 21:36:53 2003
***************
*** 41,43 ****
--- 41,60 ----
  from GRLastRow import GRLastRow
  from GRNotLastRow import GRNotLastRow
  from GRPassThru import GRPassThru
+ 
+ 
+ 
+ 
+ ############################################################
+ #
+ # Used to send structural comment
+ # Chose not to do  "if COMMENT == 1: dest.write"
+ # for performance reasons  # TODO: Was this a good decision?
+ #
+ def _structuralComment(dest, text):
+   dest.write(text)
+ 
+ def _noStructuralComment(dest, text):
+   pass
+ 
+ structuralComment = _noStructuralComment
Index: gnue/reports/src/client/GRRun.py
diff -c gnue/reports/src/client/GRRun.py:1.24 
gnue/reports/src/client/GRRun.py:1.25
*** gnue/reports/src/client/GRRun.py:1.24       Wed Jan  1 21:06:24 2003
--- gnue/reports/src/client/GRRun.py    Wed Jan  1 21:36:53 2003
***************
*** 35,43 ****
  from gnue.reports.base import GRFilters, GRExceptions
  from GRRunUI import GRRunUI
  from gnue.reports.base.GRReportInfo import GRReportInfo
  import string, sys
  import tempfile
- from gnue.reports.GRConfig import ConfigOptions
  
  
  def quietprint(*message):
--- 35,43 ----
  from gnue.reports.base import GRFilters, GRExceptions
  from GRRunUI import GRRunUI
  from gnue.reports.base.GRReportInfo import GRReportInfo
+ from gnue.reports.base.GRConfig import ConfigOptions
  import string, sys
  import tempfile
  
  
  def quietprint(*message):



reply via email to

[Prev in Thread] Current Thread [Next in Thread]