[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/gnue-reports/src GREngine.py GRParser.py G...
From: |
Jason Cater |
Subject: |
gnue/gnue-reports/src GREngine.py GRParser.py G... |
Date: |
Thu, 17 May 2001 11:59:06 -0700 |
CVSROOT: /home/cvs
Module name: gnue
Changes by: Jason Cater <address@hidden> 01/05/17 11:59:06
Modified files:
gnue-reports/src: GREngine.py GRParser.py GRReport.py
Added files:
gnue-reports/src: GRSources.py grrun test.py
Log message:
Miscellaneous changes
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-reports/src/GRSources.py?cvsroot=OldCVS&rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-reports/src/grrun?cvsroot=OldCVS&rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-reports/src/test.py?cvsroot=OldCVS&rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-reports/src/GREngine.py.diff?cvsroot=OldCVS&tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-reports/src/GRParser.py.diff?cvsroot=OldCVS&tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-reports/src/GRReport.py.diff?cvsroot=OldCVS&tr1=1.3&tr2=1.4&r1=text&r2=text
Patches:
Index: gnue/gnue-reports/src/GREngine.py
diff -u gnue/gnue-reports/src/GREngine.py:1.1
gnue/gnue-reports/src/GREngine.py:1.2
--- gnue/gnue-reports/src/GREngine.py:1.1 Wed May 16 11:59:22 2001
+++ gnue/gnue-reports/src/GREngine.py Thu May 17 11:59:06 2001
@@ -29,7 +29,31 @@
# HISTORY:
#
+import os
+import urllib
+import GRReport
+import GRParser
+from gnue.common import GDebug
+
class GREngine:
- __init__(self, connectionManager):
+ def __init__(self, connectionManager):
self._connectionManager = connectionManager
+ GDebug.printMesg(1,'GREngine instance started: %s' %
self._connectionManager)
+
+
+ def processReport(self, reportFile, parameters={}):
+ drive = os.path.splitdrive(reportFile)
+ if len(drive[0]):
+ fileHandle = open(reportFile,'r')
+ else:
+ fileHandle = urllib.urlopen(reportFile)
+
+ report = GRParser.loadReport(fileHandle, self._connectionManager)
+
+ import sys
+ report.process(sys.stdout)
+
+ print report.dumpXML(1)
+
+
Index: gnue/gnue-reports/src/GRParser.py
diff -u gnue/gnue-reports/src/GRParser.py:1.3
gnue/gnue-reports/src/GRParser.py:1.4
--- gnue/gnue-reports/src/GRParser.py:1.3 Wed May 2 15:30:19 2001
+++ gnue/gnue-reports/src/GRParser.py Thu May 17 11:59:06 2001
@@ -30,11 +30,12 @@
#
from gnue.common.GParser import *
-from GRReport import *
+import GRReport
from GRSources import *
from GRParameters import *
from GRSortOptions import *
from GRLayout import *
+from gnue.common import GDataSource
#######################################################
# This method loads a report from an XML file and returns
@@ -42,8 +43,9 @@
# the report is initialized and ready to go.
#######################################################
-def loadReport(URL, initialize=1):
- return loadXMLObject (URL, xmlReportHandler, 'GRReport', 'report',
initialize)
+def loadReport(URL, connections, initialize=1):
+ return loadXMLObject (URL, xmlReportHandler, 'GRReport', 'report',
+ initialize, attributes={"_connections": connections})
@@ -68,7 +70,7 @@
# {attrName: (required?, uniqueID?, typecast, defaultValue)}
#
self.xmlElements = {
- 'report': (GRReport, { 'title': (0, 0, char, None)}, 1),
+ 'report': (GRReport.GRReport, { 'title': (0, 0, char,
None)}, 1),
'parameters': (GRParameters,{ }, 1),
'parameter': (GRParameter, { 'id': (1, 1, char, None),
'required': (0, 0, bool, 0),
@@ -90,9 +92,8 @@
'summ': (GRField, { 'name': (1, 0, char, None),
'reset': (0, 0, char, None),
'format': (0, 0, char, None)}, 1),
- 'sources': (GRSources, { }, 1),
- 'datasource': (GRDataSource,{ 'name': (0, 0, char, None),
- 'format': (0, 0, char, None)}, 1),
+ 'sources': (GRSources, { }, 1),
+ 'datasource': (GRDataSource, GDataSource.tagAttributes , 1),
# 'query': (GRQquery, { 'id': (1, 1, char, None),
# 'uniqueness': (0, 0, char, None)}, 1),
# 'fields': (GRQfields, { }, 1),
Index: gnue/gnue-reports/src/GRReport.py
diff -u gnue/gnue-reports/src/GRReport.py:1.3
gnue/gnue-reports/src/GRReport.py:1.4
--- gnue/gnue-reports/src/GRReport.py:1.3 Wed May 2 15:30:19 2001
+++ gnue/gnue-reports/src/GRReport.py Thu May 17 11:59:06 2001
@@ -30,15 +30,42 @@
#
from gnue.common.GObjects import *
+from gnue.common import GDebug
+import sys
import GRParser
class GRReport(GObj):
def __init__(self, parent=None):
GObj.__init__(self, parent, type='GRReport')
+ self._connections = None # This will be set by GRParser.loadReport
+
def initializeTree(self):
- pass
+ self.walk(self.buildDataSources)
+ self.initialize()
+
+ def buildDataSources(self, object):
+ if object.getObjectType() == "GRDataSource":
+ GDebug.printMesg(3,"Attaching DataSource %s to %s" % (object.name,
self._connections) )
+ object.setConnectionManager(self._connections)
+
+ def initConnections(self, object):
+ if object.getObjectType() == "GRDataSource":
+ GDebug.printMesg(3,"Connecting DataSource %s to %s" % (object.name,
object.database) )
+ object.connect()
def dumpXML(self, treeDump=None, gap=" "):
return GObj.dumpXML(self, GRParser.xmlReportHandler().xmlElements,
treeDump, gap)
-
+
+
+ #
+ # Process the report and generate output per the report definition.
+ # Destination must be a file handle (StringIO will work as well)
+ #
+ def process(self, dest=sys.stdout):
+
+ # Connect to databases
+ GDebug.printMesg(3,"Initializing DataSource Connections")
+ self.walk(self.initConnections)
+
+ dest.write ("Bob was here!\n")
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/gnue-reports/src GREngine.py GRParser.py G...,
Jason Cater <=