commit-gnue
[Top][All Lists]
Advanced

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

gnue/integrator/src GIClient.py GIObjects.py GI...


From: Jan Ischebeck
Subject: gnue/integrator/src GIClient.py GIObjects.py GI...
Date: Wed, 11 Dec 2002 08:51:23 -0500

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Jan Ischebeck <address@hidden>  02/12/11 08:51:23

Modified files:
        integrator/src : GIClient.py GIObjects.py GIParser.py 

Log message:
        playing with triggers

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/integrator/src/GIClient.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/integrator/src/GIObjects.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/integrator/src/GIParser.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text

Patches:
Index: gnue/integrator/src/GIClient.py
diff -c gnue/integrator/src/GIClient.py:1.3 gnue/integrator/src/GIClient.py:1.4
*** gnue/integrator/src/GIClient.py:1.3 Sat Nov 30 18:25:32 2002
--- gnue/integrator/src/GIClient.py     Wed Dec 11 08:51:23 2002
***************
*** 30,38 ****
  import os
  import sys
  import string
! 
! from gnue.integrator.GIParser import loadMapping
! #from gnue.integrator import Actions
  from gnue.common import GDebug
  from gnue.common.FileUtils import openResource
  from gnue.common import GDataObjects, GConnections
--- 30,36 ----
  import os
  import sys
  import string
! from GIParser import loadMapping
  from gnue.common import GDebug
  from gnue.common.FileUtils import openResource
  from gnue.common import GDataObjects, GConnections
***************
*** 76,82 ****
        mappingFile = self.ARGUMENTS[0]
      except:
        self.handleStartupError ("No Integrator Definition File Specified.")
! 
  
      fileHandle = openResource(mappingFile)
      mapping = loadMapping (fileHandle, self.connections)
--- 74,82 ----
        mappingFile = self.ARGUMENTS[0]
      except:
        self.handleStartupError ("No Integrator Definition File Specified.")
!     
!     lh = NoLoginHandler()
!     self.getConnectionManager().setLoginHandler(lh)
  
      fileHandle = openResource(mappingFile)
      mapping = loadMapping (fileHandle, self.connections)
***************
*** 88,93 ****
--- 88,114 ----
        mapping._testonly=1
  
      mapping.run()
+ 
+ #
+ # Login handler for --batch mode
+ #
+ from gnue.common import GLoginHandler
+ class NoLoginHandler(GLoginHandler.LoginHandler):
+ 
+   defaults = {'_username': 'jan', '_password': None}
+ 
+   def getLogin(self, loginData, error):
+     val = {}
+     for prompt in loginData[2]:
+       if self.defaults.has_key(prompt[0])  and self.defaults[prompt[0]]:
+           val[prompt[0]] = self.defaults[prompt[0]]
+       else:
+           val[prompt[0]] = None
+     return val
+ 
+   def destroyLoginDialog(self):
+       pass
+ 
  
  
  if __name__ == '__main__':
Index: gnue/integrator/src/GIObjects.py
diff -c gnue/integrator/src/GIObjects.py:1.5 
gnue/integrator/src/GIObjects.py:1.6
*** gnue/integrator/src/GIObjects.py:1.5        Sat Nov 30 18:25:32 2002
--- gnue/integrator/src/GIObjects.py    Wed Dec 11 08:51:23 2002
***************
*** 45,51 ****
      GRootObj.__init__(self, 'mappings', GIParser.getXMLelements,GIParser)
      GIObject.__init__(self, parent, type="GIMappings")
      self._datasourceDictionary={}
!     self._inits = (self.initialize,)
      
      self.name=""
      #
--- 45,51 ----
      GRootObj.__init__(self, 'mappings', GIParser.getXMLelements,GIParser)
      GIObject.__init__(self, parent, type="GIMappings")
      self._datasourceDictionary={}
!     self._inits = (None,self.initialize)
      
      self.name=""
      #
***************
*** 63,68 ****
--- 63,69 ----
    def initialize(self):
      self.initTriggerSystem()
      self._triggerns.update(self._triggerNamespaceTree._globalNamespace)
+  
  
  
    def run(self):
***************
*** 85,94 ****
                             'POST-PROCESS':'Post-Process',
                             'PRE-PROCESS':'Pre-Process'}
  
      #
      # 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,
--- 86,98 ----
                             'POST-PROCESS':'Post-Process',
                             'PRE-PROCESS':'Pre-Process'}
  
+     self._triggerDictionary = {}
+     self._triggerns={}
+ 
      #
      # 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,
***************
*** 96,102 ****
                              }
      
    def triggerSetValue(self,field,value):
!     self._outputRset.current.setField(field,value)
      
    def triggerGetValue(self,field):
      return self._inputRset.current.getField(field)
--- 100,107 ----
                              }
      
    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)
***************
*** 122,133 ****
    
  
    def run(self):
!     GDebug.printMesg(5,"Start Mapping %s." % self.title)
  
      # 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
--- 127,138 ----
    
  
    def run(self):
!     GDebug.printMesg(5,"Start Mapping %s." % self.name)
  
      # 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
***************
*** 208,218 ****
  
      
  
! class GIAction(GIObject):
!   def __init__(self, parent):
      GIObject.__init__(self, parent, type="GIAction")
      self._inits = [self.initialize]
!   
    def initialize(self):
      inpCount=0
      outCount=0
--- 213,226 ----
  
      
  
! class GIAction(GIObject,GTriggerExtension):
!   def __init__(self, parent):    
!     GTriggerExtension.__init__(self)
      GIObject.__init__(self, parent, type="GIAction")
      self._inits = [self.initialize]
!     self._validTriggers = {'POST-ACTION':'Post-Action',
!                            'PRE-ACTION':'Pre-Action',
!                            'ON-FAIL':'On-Fail'}
    def initialize(self):
      inpCount=0
      outCount=0
***************
*** 237,256 ****
        
  
    def process(self, row):
      # merge first
      inpCount=1
      out=self.mergemask
      for child in self._children:
        if child.type=="src":
!         out=string.replace(out,'@%s' % inpCount, '%s' % 
row.getField(child.name))
          inpCount+=1
  #        print row.getField(child.name),' ',
  
      if hasattr(self,"splitre"):
        mymatch=self.splitre.match(out)
        if mymatch==None:
!         if hasattr(self,'on-fail'):
!           pass
          return
        
        out=mymatch.groups()
--- 245,267 ----
        
  
    def process(self, row):
+     self.processTrigger('Pre-Action')
      # merge first
      inpCount=1
      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)
          inpCount+=1
  #        print row.getField(child.name),' ',
  
      if hasattr(self,"splitre"):
        mymatch=self.splitre.match(out)
        if mymatch==None:
!         self.processTrigger('On-Fail')
          return
        
        out=mymatch.groups()
***************
*** 263,269 ****
        if child.type=="dest":
          outpFields[child.name]=out[outpCount-1]
          outpCount+=1
! 
      return outpFields
  
  
--- 274,281 ----
        if child.type=="dest":
          outpFields[child.name]=out[outpCount-1]
          outpCount+=1
!         
!     self.processTrigger('Post-Action')
      return outpFields
  
  
Index: gnue/integrator/src/GIParser.py
diff -c gnue/integrator/src/GIParser.py:1.3 gnue/integrator/src/GIParser.py:1.4
*** gnue/integrator/src/GIParser.py:1.3 Sat Nov 30 18:25:32 2002
--- gnue/integrator/src/GIParser.py     Wed Dec 11 08:51:23 2002
***************
*** 99,106 ****
  #               'Required': 1,
                 'Unique': 1,
                 'Typecast': GTypecast.name },
!             'title': {
!                'Typecast': GTypecast.text },
              'source': {
                 'Required': 1,
                 'Typecast': GTypecast.name },
--- 99,108 ----
  #               'Required': 1,
                 'Unique': 1,
                 'Typecast': GTypecast.name },
!             'name': {
!                'Unique': 1,
!                'Required': 1,
!                'Typecast': GTypecast.name },
              'source': {
                 'Required': 1,
                 'Typecast': GTypecast.name },
***************
*** 135,140 ****
--- 137,145 ----
        'submapping': {
           'BaseClass': GIObjects.GISubMapping,
           'Attributes': {
+             'name': {
+                'Required': 1,
+                'Typecast': GTypecast.name },      
              'type': {
  #               'Required': 1,
                 'ValueSet': {
***************
*** 180,187 ****
                 'ValueSet': {
                    'src': {},
                    'dest': {}}},
!             'datasource': {
! #               'Required': 1,               
                 'Typecast': GTypecast.name }},
           'ParentTags': ('merge',) }
        
--- 185,193 ----
                 'ValueSet': {
                    'src': {},
                    'dest': {}}},
!             'trim': {
! #              'Required': 1,
!                'Default': 0, 
                 'Typecast': GTypecast.name }},
           'ParentTags': ('merge',) }
        



reply via email to

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