Exemple #1
0
 def __init__ (self, args, logger):
     try:
         self.args = args
         self.msg = ''
         self.logList = logger
         self.name = args['name']
         self.dbFactoryArg = args['dbFactroyArg']
         self.inputFormat = args['inputFormat']
         self.delimiter = args['delimiter']
         self.hasHeader = args['hasHeader']            
         #self.replaceEmptyFieldBy = args['replaceEmptyFieldBy']
         if not self.args.has_key('autoCommit'):
             self.autocommit = False
         #session pool
         self.session = None
         self.nbThreads = int(args['nbThreads'])
         if self.nbThreads == 0:
             self.nbThreads = 1
         if args.has_key('retries'):
             self.retries = int(args['retries'])
         else:
             self.retries = 5
         #self.curArgs = {}
         #self.curArgs['cursorName'] = 'cursor1'
         self.metadata = {}
         self.fieldNames = []
         self.fieldLength = []
         if self.inputFormat == 'delimited':
             if self.args.has_key('fieldNames'):
                 self.fieldNames = args['fieldNames']
         elif self.inputFormat == 'fixedLength':
             if self.args.has_key('fieldNames') and self.args.has_key('fieldLength'):
                 self.fieldNames = args['fieldNames']
                 self.fieldLength = args['fieldLength']
         #self.args['cursorName'] = "cursor"
         #args['cursorName'] = "cursor"
         #here, for multithread updating database, speed up here
         self.connection = dbFactory.dbFactory(args['dbFactroyArg'], self.logList)
         #for i in range(self.nbThreads):
         self.session = self.makeSession(self.connection)
         self.parallelize = 'n'
         self.nbQueriesParal = 10
         ########################################################
         if args.has_key('parallelize'):
             self.parallelize = args['parallelize']
         if args.has_key('nbQueriesParal'):
             self.nbQueriesParal = int(args['nbQueriesParal'])
     except KeyError:
         reticLog.logError(self.logList, "( " + self.name + " ) Error during SQLSink initialization")
         reticLog.logError(self.logList, "( " + self.name + " ) Parameter " + str(sys.exc_info()[1]) + " is missing in sink definition" )
         sys.exit(1)
     except:
         errorMessage = traceback.format_exception_only(sys.exc_info()[0],sys.exc_info()[1])[0]
         reticLog.logError(self.logList, "( " + self.name + " ) Unknown error during initialization in sink")
         reticLog.logError(self.logList, "( " + self.name + " ) " + errorMessage)
         sys.exit(1)
Exemple #2
0
    def __init__ (self, args, logger):
        try:
            self.logList = logger
            self.name = args['name']
            self.args = args
            reticLog.logInfo(self.logList, '( ' + self.name + ' ) ' +  "Intitializing SQLTreeSource : " + self.name)            
            self.exitOnError = 'y'
            self.xpath = XPathAPI()
            self.metadata = {}
            self.dsn = args['dsn']
            self.user = args['user']
            self.password = args['password']
            self.dbType = args['dbType']
#            self.db = args['db']
            self.msgSize = args['msgSize']
            self.treeQ = args['treeQ']
            self.rootTag = args['rootTag']
            self.encoding = args['encoding']
            self.msgSize = float(args['msgSize'])
            self.msgList = []
            self.fieldList = []
            self.nbMsg = 0
            self.tmpFileName = 'tmp_SQLTreeSource' + str(int(random.random()*100000000)) + '.dat'
#            self.msg = open(self.tmpFileName,'w+')
            self.msg = ''
            self.tmpMsg = StringIO.StringIO()
            self.msgName = ''
            self.curArgs = {}
            self.dbConnection = dbFactory.dbFactory(args, self.logList)
            self.dbConnection.connect(args)            
            if args.has_key('exitOnError'):
                self.exitOnError = args['exitOnError']
        except KeyError:
            reticLog.logError(self.logList, '( ' + self.name + ' ) ' + "Error on SQLTreeSource initialization")
            reticLog.logError(self.logList, '( ' + self.name + ' ) ' + "Parameter " + str(sys.exc_info()[1]) + " is missing on source definition" )
            sys.exit(1)
        except:
            errorMessage = traceback.format_exception_only(sys.exc_info()[0],sys.exc_info()[1])[0]
            reticLog.logError(self.logList, '( ' + self.name + ' ) ' + "Unknown error on SQLTreeSource initialization. Exiting...")
            reticLog.logError(self.logList, '( ' + self.name + ' ) ' + errorMessage)         
            sys.exit(1)                
Exemple #3
0
 def __init__ (self, args, logger):
     try:
         self.args = args
         self.msg = ''
         self.logList = logger
         self.name = args['name']
         self.dbFactoryArg = args['dbFactroyArg']
         self.inputFormat = args['inputFormat']
         self.delimiter = args['delimiter']
         self.hasHeader = args['hasHeader']            
         #self.replaceEmptyFieldBy = args['replaceEmptyFieldBy']
         if not self.args.has_key('autoCommit'):
             self.autocommit = False
         #session pool
         self.session = None
         self.nbThreads = int(args['nbThreads'])
         if self.nbThreads == 0:
             self.nbThreads = 1
         if args.has_key('retries'):
             self.retries = int(args['retries'])
         else:
             self.retries = 5
         #self.curArgs = {}
         #self.curArgs['cursorName'] = 'cursor1'
         self.metadata = {}
         self.fieldNames = []
         self.fieldLength = []
         if self.inputFormat == 'delimited':
             if self.args.has_key('fieldNames'):
                 self.fieldNames = args['fieldNames']
         elif self.inputFormat == 'fixedLength':
             if self.args.has_key('fieldNames') and self.args.has_key('fieldLength'):
                 self.fieldNames = args['fieldNames']
                 self.fieldLength = args['fieldLength']
         self.connection = dbFactory.dbFactory(args['dbFactroyArg'], self.logList)
         # map DataValue table in ODM database to DataValue python class
         # to utilize the magic power of sqlalchemy
         metadata = schema.MetaData()
         metadata.bind = self.connection.engine
         DataValues_table = schema.Table('DataValues',metadata,  \
                             autoload=True,autoload_with=self.connection.engine)
         orm.mapper(DataValues,DataValues_table)
         Sites_table = schema.Table('Sites',metadata,  \
                             autoload=True,autoload_with=self.connection.engine)
         orm.mapper(Sites,Sites_table)
         Variables_table = schema.Table('Variables',metadata,  \
                             autoload=True,autoload_with=self.connection.engine)
         orm.mapper(Variables,Variables_table)
         Methods_table = schema.Table('Methods',metadata,  \
                             autoload=True,autoload_with=self.connection.engine)
         orm.mapper(Methods,Methods_table)
         #for i in range(self.nbThreads):
         self.session = self.makeSession(self.connection)
         self.parallelize = 'n'
         self.nbQueriesParal = 10
         ########################################################
         if args.has_key('parallelize'):
             self.parallelize = args['parallelize']
         if args.has_key('nbQueriesParal'):
             self.nbQueriesParal = int(args['nbQueriesParal'])
     except KeyError:
         reticLog.logError(self.logList, "( " + self.name + " ) Error during SQLSink initialization")
         reticLog.logError(self.logList, "( " + self.name + " ) Parameter " + str(sys.exc_info()[1]) + " is missing in sink definition" )
         sys.exit(1)
     except:
         errorMessage = traceback.format_exception_only(sys.exc_info()[0],sys.exc_info()[1])[0]
         reticLog.logError(self.logList, "( " + self.name + " ) Unknown error during initialization in sink")
         reticLog.logError(self.logList, "( " + self.name + " ) " + errorMessage)
         sys.exit(1)