commit-gnue
[Top][All Lists]
Advanced

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

gnue/integrator/src GIObjects.py GIParser.py .c...


From: Jan Ischebeck
Subject: gnue/integrator/src GIObjects.py GIParser.py .c...
Date: Thu, 06 Mar 2003 11:10:23 -0500

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Jan Ischebeck <address@hidden>  03/03/06 11:10:19

Modified files:
        integrator/src : GIObjects.py GIParser.py 
Added files:
        integrator/src : .cvsignore 

Log message:
        small merge (experm. trigger stuff)

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/integrator/src/.cvsignore?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/integrator/src/GIObjects.py.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/integrator/src/GIParser.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text

Patches:
Index: gnue/integrator/src/GIObjects.py
diff -c gnue/integrator/src/GIObjects.py:1.8 
gnue/integrator/src/GIObjects.py:1.9
*** gnue/integrator/src/GIObjects.py:1.8        Mon Feb 17 02:32:53 2003
--- gnue/integrator/src/GIObjects.py    Thu Mar  6 11:10:19 2003
***************
*** 32,38 ****
  from gnue.common.apps import GDebug, GConfig
  from gnue.common.datasources import GDataSource
  from gnue.common.definitions.GRootObj import GRootObj
- from gnue.reports import GREngine,GRExceptions
  import GIParser
  from gnue.common.logic.GTrigger import GTriggerExtension
  
--- 32,37 ----
***************
*** 82,87 ****
--- 81,89 ----
    def __init__(self, parent):
      GTriggerExtension.__init__(self)
      GIObject.__init__(self, parent, type="GIMapping")
+     self.repeatthisrow=0
+     self.skipthisrow=0
+     
      self._inits = [self.initialize]
      self._validTriggers = {'POST-ROW':'Post-Row',
                             'PRE-ROW':'Pre-Row',
***************
*** 94,113 ****
      #
      # temporariy hack: remove this functions if trigger namespace is
      # populated correctly
!     # self._triggerGlobal = 1
      self._triggerFunctions={'setField':{'function':self.triggerSetValue,
                                     'global':1},
                              'getField':{'function':self.triggerGetValue,
!                                     'global':1}
                              }
      
    def triggerSetValue(self,field,value):
!     if not hasattr(self._parent,'_testonly'):
!       self._outputRset.current.setField(field,value)
      
    def triggerGetValue(self,field):
      return self._inputRset.current.getField(field)
  
    # end hack
    
    def initialize(self):
--- 96,144 ----
      #
      # temporariy hack: remove this functions if trigger namespace is
      # populated correctly
!     self._triggerGlobal = 1
      self._triggerFunctions={'setField':{'function':self.triggerSetValue,
                                     'global':1},
                              'getField':{'function':self.triggerGetValue,
!                                     'global':1},
!                             'repeatThisRow':{'function':self.triggerRepeatRow,
!                                     'global':0},
!                             'skipThisRow':{'function':self.triggerSkipRow,
!                                     'global':0}
                              }
      
+     
    def triggerSetValue(self,field,value):
!     self.valuesetbytrigger[field]=value
!       
      
    def triggerGetValue(self,field):
      return self._inputRset.current.getField(field)
  
+   def triggerSkipRow(self,skip):
+     self.skipthisrow=skip
+ 
+   def triggerRepeatRow(self,repeat):
+     self.repeatthisrow=repeat
+     
+   def triggerLoadRow(self,field):
+     # TODO: make record global variable
+     record=self._inputRset.nextRecord()
+ 
+   def triggerStoreRow(self, output):
+     # TODO: replace this code and the code in the main loop by one function 
+     if not hasattr(self._parent,'_testonly'):
+       
+       self._outputRset.insertRecord ()
+ 
+       for field in output.keys():
+       
+         self._outputRset.current.setField(field,output[field])
+                 
+     else:
+       print output
+ 
+     
    # end hack
    
    def initialize(self):
***************
*** 134,140 ****
      # Prepare Input datasource
      if self._inputSource.hasMaster():
        raise Exception,'InputSources in a Mapping should not have a master'
!     print "HALLO"
      self._inputRset=self._inputSource.createResultSet({})
  
      # Prepare Output datasource
--- 165,171 ----
      # Prepare Input datasource
      if self._inputSource.hasMaster():
        raise Exception,'InputSources in a Mapping should not have a master'
!     
      self._inputRset=self._inputSource.createResultSet({})
  
      # Prepare Output datasource
***************
*** 150,165 ****
      
      self._outputRset=self._outputSource.createResultSet()
  
      self.processTrigger('Pre-Process')
  
      record=self._inputRset.firstRecord()
      while record:
  
-       if not hasattr(self._parent,'_testonly'):
-         self._outputRset.insertRecord ()
- 
        output={}
  
        self.processTrigger('Pre-Row')
        
        for child in self._children:
--- 181,197 ----
      
      self._outputRset=self._outputSource.createResultSet()
  
+     self.valuesetbytrigger = {}
+ 
      self.processTrigger('Pre-Process')
  
      record=self._inputRset.firstRecord()
      while record:
  
        output={}
  
+       self.valuesetbytrigger = {}
+ 
        self.processTrigger('Pre-Row')
        
        for child in self._children:
***************
*** 170,188 ****
            if out!=None:
              output.update(out)
  
!       self.processTrigger('Post-Row')
        
-       for field in output.keys():
-         # TODO: add some basic output field processing here
-         
          if not hasattr(self._parent,'_testonly'):
!           self._outputRset.current.setField(field,output[field])
                
  
!       if hasattr(self._parent,'_testonly'):
!         print output
  
-       record=self._inputRset.nextRecord()
  
      self.processTrigger('Post-Process')
        
--- 202,242 ----
            if out!=None:
              output.update(out)
  
!           output.update(self.valuesetbytrigger)
!           self.valuesetbytrigger = {}
! 
! 
!       if not self.skipthisrow:
!         self.processTrigger('Post-Row')
        
          if not hasattr(self._parent,'_testonly'):
!           self._outputRset.insertRecord ()
!           
!           for field in output.keys():
!           # TODO: add some basic output field processing here
!           
!             self._outputRset.current.setField(field,output[field])
                
  
!         else:
!           print output
! 
!         
!       else:
!         
!         self.skipthisrow=0
! 
!      # TODO: add a loop lock
!       if self.repeatthisrow:
!         
!         self.repeatthisrow=0
!         
!       else:
!         
!         record=self._inputRset.nextRecord()
! 
! 
  
  
      self.processTrigger('Post-Process')
        
***************
*** 253,259 ****
      out=self.mergemask
      for child in self._children:
        if child.type=="src":
!         value=row.getField(child.name)
          if child.trim:
            value=string.strip(value)
          out=string.replace(out,'@%s' % inpCount, '%s' % value)
--- 307,313 ----
      out=self.mergemask
      for child in self._children:
        if child.type=="src":
!         value=str(row.getField(child.name))
          if child.trim:
            value=string.strip(value)
          out=string.replace(out,'@%s' % inpCount, '%s' % value)
Index: gnue/integrator/src/GIParser.py
diff -c gnue/integrator/src/GIParser.py:1.6 gnue/integrator/src/GIParser.py:1.7
*** gnue/integrator/src/GIParser.py:1.6 Mon Feb 17 02:32:53 2003
--- gnue/integrator/src/GIParser.py     Thu Mar  6 11:10:19 2003
***************
*** 84,89 ****
--- 84,93 ----
              'title': {
                 'Typecast': GTypecast.text,
                 'Default': 'Untitled Menu' },
+             'name': {
+                'Unique': 1,
+                'Typecast': GTypecast.name,
+                'Description': 'A unique ID for this list of mappings.' },
              'type': {
                 'ValueSet': {
                    'direct': {},
***************
*** 96,105 ****
        'mapping': {
           'BaseClass': GIObjects.GIMapping,
           'Attributes': {
!             'id': {
  #               'Required': 1,
!                'Unique': 1,
!                'Typecast': GTypecast.name },
              'name': {
                 'Unique': 1,
                 'Required': 1,
--- 100,109 ----
        'mapping': {
           'BaseClass': GIObjects.GIMapping,
           'Attributes': {
! #            'id': {
  #               'Required': 1,
! #               'Unique': 1,
! #               'Typecast': GTypecast.name },
              'name': {
                 'Unique': 1,
                 'Required': 1,
***************
*** 160,165 ****
--- 164,172 ----
                    'merge': {},
                    'split': {},
                    'copy': {}}},
+             'name': {
+ #               'Required': 1,               
+                'Typecast': GTypecast.name },
  #            'parameter': {
  #               'Required': 1,               
  #               'Typecast': GTypecast.name },




reply via email to

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