[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/reports/src GRLayout.py GRParameters.py GR...
From: |
Jason Cater |
Subject: |
gnue/reports/src GRLayout.py GRParameters.py GR... |
Date: |
Thu, 04 Apr 2002 00:55:38 -0500 |
CVSROOT: /home/cvs
Module name: gnue
Changes by: Jason Cater <address@hidden> 02/04/04 00:55:37
Modified files:
reports/src : GRLayout.py GRParameters.py GRParser.py
GRReport.py
Log message:
improved support in reports for user-supplied parameters
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/reports/src/GRLayout.py.diff?cvsroot=OldCVS&tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/reports/src/GRParameters.py.diff?cvsroot=OldCVS&tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/reports/src/GRParser.py.diff?cvsroot=OldCVS&tr1=1.18&tr2=1.19&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/reports/src/GRReport.py.diff?cvsroot=OldCVS&tr1=1.17&tr2=1.18&r1=text&r2=text
Patches:
Index: gnue/reports/src/GRLayout.py
diff -c gnue/reports/src/GRLayout.py:1.13 gnue/reports/src/GRLayout.py:1.14
*** gnue/reports/src/GRLayout.py:1.13 Mon Mar 25 23:34:07 2002
--- gnue/reports/src/GRLayout.py Thu Apr 4 00:55:37 2002
***************
*** 30,35 ****
--- 30,36 ----
from gnue.common.GObjects import *
from gnue.common import GDebug, GConditions
+ from GRParameters import GRStubParam
import GRExceptions
import string
***************
*** 404,409 ****
--- 405,422 ----
dest.write (self._mymapper.getSummary(self.name, self.function,
self.format))
structuralComment(dest,"<!--[/summ:%s]-->" % self.name)
+
+
+ ############################################################
+ #
+ # Parameters
+ #
+ class GRParam(GRLayoutElement, GRStubParam):
+ _typestub = 'GRParam'
+
+ def __init__(self, parent):
+ GRLayoutElement.__init__(self, *args, **parms)
+ GRStubParam.__init__(self, *args, **parms)
Index: gnue/reports/src/GRParameters.py
diff -c gnue/reports/src/GRParameters.py:1.5
gnue/reports/src/GRParameters.py:1.6
*** gnue/reports/src/GRParameters.py:1.5 Mon Mar 25 23:34:07 2002
--- gnue/reports/src/GRParameters.py Thu Apr 4 00:55:37 2002
***************
*** 1,19 ****
#
# 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 2000-2002 Free Software Foundation
--- 1,19 ----
#
# 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 2000-2002 Free Software Foundation
***************
*** 22,93 ****
# GRParameters.py
#
# DESCRIPTION:
! # Class
#
# NOTES:
#
- # HISTORY:
- #
from gnue.common.GObjects import *
import string
! class GRParameters (GObj):
! def __init__ (self, parent):
! GObj.__init__(self, parent, type='GRParameters')
self._parameters = {}
! #
# Set the parameters actually supplied by the user
#
! def setUserParameters(self, parameters):
! if parameters == None:
self._parameters = {}
! else:
! self._parameters = parameters
#
# Get a user parameter. If parameter not specified, pull default value
#
! def getParameter(self, parameter):
! if self._parameters.has_key(string.lower(parameter)):
! return self._paramters[string.lower(parameter)]
! else:
rv = None
! for child in children:
! if string.lower(child.id) == string.lower(parameter):
rv = child.default
return rv
!
#
! # Return an xml markup of the user supplied or default
# parameters used to run the current report
#
! def getRunOptionsAsXML(self):
from xml.sax import saxutils
xml = ""
parameters = {}
! for child in self._children:
! if child.default != None:
! parameters[string.lower(child.id)] = child.default
!
! for param in self._parameters.keys():
! parameters[string.lower(param)] = self._parameters[param]
! for param in parameters.keys():
! xml = xml + ' <GNUe-request-parameter
id="%s">%s</GNUe-request-parameter>\n' % \
(param, saxutils.escape(parameters[param]))
return xml
!
! class GRParameter (GObj):
! def __init__ (self, parent):
! GObj.__init__(self, parent, type='GRParameter')
! self.id = ""
self.required = 0
self.default = None
--- 22,144 ----
# GRParameters.py
#
# DESCRIPTION:
! # Class
#
# NOTES:
#
from gnue.common.GObjects import *
+ from gnue.common import GConditions
import string
! #
! #
! #
! class GRParameters (GObj):
! def __init__ (self, parent):
! GObj.__init__(self, parent, type='GRParameters')
self._parameters = {}
! #
# Set the parameters actually supplied by the user
#
! def setUserParameters(self, parameters):
! if parameters == None:
self._parameters = {}
! else:
! for key in parameters.keys():
! self._parameters[string.lower(key)] = parameters[key]
#
# Get a user parameter. If parameter not specified, pull default value
#
! def getParameter(self, parameter):
! param = string.lower(parameter)
! try:
! return self._parameters[param]
! except KeyError:
rv = None
! for child in self._children:
! if child._name == param:
rv = child.default
+ self._parameters[param] = rv
+ break
return rv
!
#
! # Return an xml markup of the user supplied or default
# parameters used to run the current report
#
! def getRunOptionsAsXML(self):
from xml.sax import saxutils
xml = ""
parameters = {}
! for child in self._children:
! if child.default != None:
! parameters[child._name] = child.default
+ parameters.update(self._parameters)
! for param in parameters.keys():
! xml += ' <GNUe-request-parameter
name="%s">%s</GNUe-request-parameter>\n' % \
(param, saxutils.escape(parameters[param]))
return xml
! #
! #
! #
! class GRParameter (GObj):
! def __init__ (self, parent):
! GObj.__init__(self, parent, type='GRParameter')
! self.name = ""
self.required = 0
self.default = None
+ def _buildObject(self):
+ self._name = string.lower(self.id)
+ return GObj._buildObject(self)
+
+
+ def __init__(self, parent, type):
+ GObj.__init(self, parent, type='GRStubParam')
+
+
+ #
+ #
+ #
+ class GRStubParam(GConditions.GCParam):
+
+ def __init__(self, *args, **parms):
+ GConditions.GCParam.__init__(self, *args, **parms)
+ self._inits.append(self.initialize)
+ self._type = self._typestub
+
+ def initialize(self):
+ self._parameters = self.findParentOfType('GRReport')._parameters
+
+ def getValue(self):
+ val = self._parameters.getParameter(self.name)
+ if val is None:
+ return ""
+ elif self.type = 'number':
+ return float(val)
+ else:
+ return "%s" % val
+
+ def getFormattedValue(self):
+ # TODO: Format masks
+ val = self._parameters.getParameter(self.name)
+ if val is None:
+ return ""
+ else:
+ return "%s" % val
+
+
+ #
+ # Used by datasource conditionals
+ #
+ class GRConditionParam(GRStubParam):
+ _typestub = 'GRCParam'
Index: gnue/reports/src/GRParser.py
diff -c gnue/reports/src/GRParser.py:1.18 gnue/reports/src/GRParser.py:1.19
*** gnue/reports/src/GRParser.py:1.18 Wed Apr 3 18:52:54 2002
--- gnue/reports/src/GRParser.py Thu Apr 4 00:55:37 2002
***************
*** 89,95 ****
'parameter': {
'BaseClass': GRParameters.GRParameter,
'Attributes': {
! 'id': {
'Required': 1,
'Unique': 1,
'Typecast': GTypecast.name },
--- 89,95 ----
'parameter': {
'BaseClass': GRParameters.GRParameter,
'Attributes': {
! 'name': {
'Required': 1,
'Unique': 1,
'Typecast': GTypecast.name },
***************
*** 167,173 ****
'BaseClass': GRLayout.GRDefault,
'MixedContent': 1,
'KeepWhitespace': 1,
! 'ParentTags': ('layout',) },
'field': {
'BaseClass': GRLayout.GRField,
--- 167,179 ----
'BaseClass': GRLayout.GRDefault,
'MixedContent': 1,
'KeepWhitespace': 1,
! 'ParentTags': ('section',) },
!
! 'default': {
! 'BaseClass': GRLayout.GRDefault,
! 'MixedContent': 1,
! 'KeepWhitespace': 1,
! 'ParentTags': ('section',) },
'field': {
'BaseClass': GRLayout.GRField,
***************
*** 179,185 ****
'Typecast': GTypecast.name },
'format': {
'Typecast': GTypecast.name } },
! 'ParentTags': ('layout',) },
'summ': {
'BaseClass': GRLayout.GRSumm,
--- 185,191 ----
'Typecast': GTypecast.name },
'format': {
'Typecast': GTypecast.name } },
! 'ParentTags': ('section',) },
'summ': {
'BaseClass': GRLayout.GRSumm,
***************
*** 199,204 ****
--- 205,220 ----
'Typecast': GTypecast.name } },
'ParentTags': ('layout',) },
+ 'param': {
+ 'BaseClass': GRLayout.GRParam,
+ 'Attributes': {
+ 'name': {
+ 'Required': 1,
+ 'Typecast': GTypecast.name },
+ 'format': {
+ 'Typecast': GTypecast.name } },
+ 'ParentTags': ('layout',) },
+
'sources': {
'BaseClass': GRSources.GRSources,
'SingleInstance': 1,
***************
*** 212,219 ****
GDataSource.getXMLelements(
{'datasource': {
'BaseClass': GRSources.GRDataSource,
! 'ParentTags': ('sources',) }
}))
return xmlElements
--- 228,238 ----
GDataSource.getXMLelements(
{'datasource': {
'BaseClass': GRSources.GRDataSource,
! 'ParentTags': ('sources',) },
! 'cparam': {
! 'BaseClass': GRParameters.GRConditionParam }
}))
+
return xmlElements
Index: gnue/reports/src/GRReport.py
diff -c gnue/reports/src/GRReport.py:1.17 gnue/reports/src/GRReport.py:1.18
*** gnue/reports/src/GRReport.py:1.17 Mon Mar 25 23:34:07 2002
--- gnue/reports/src/GRReport.py Thu Apr 4 00:55:37 2002
***************
*** 83,88 ****
--- 83,90 ----
sources = self.getChildOfType('GRSources')
layout = self.getChildOfType('GRLayout')
+ # For use by the child parameter types
+ self._parameters = parameters
#
# Raise exceptions if _sources or _parameters is None
***************
*** 108,114 ****
layout.prepare(mapper, parameters)
# Write common header information
! if not omitGNUeXML:
dest.write ('<?xml version="1.0"?>\n')
dest.write ("<GNUe-report-output>\n")
dest.write (" <GNUe-report-request>\n")
--- 110,116 ----
layout.prepare(mapper, parameters)
# Write common header information
! if not omitGNUeXML:
dest.write ('<?xml version="1.0"?>\n')
dest.write ("<GNUe-report-output>\n")
dest.write (" <GNUe-report-request>\n")
***************
*** 118,124 ****
layout.process(dest, includeStructuralComments)
! if not omitGNUeXML:
dest.write ("\n</GNUe-report-output>\n")
--- 120,126 ----
layout.process(dest, includeStructuralComments)
! if not omitGNUeXML:
dest.write ("\n</GNUe-report-output>\n")
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/reports/src GRLayout.py GRParameters.py GR...,
Jason Cater <=