def __init__(self,dateTime,conf,log,dataset=None,cfg='NZ',delim=None): """ :param dateTime: DateTiem object :type dateTime: py datatime """ self.dateTime = dateTime ## internal counter self.choked = 0 self.failure = 0 self.__nzconf__ =cfg self.__SQL__ ='' self.__delim__ = '\\' self.__batchsize__ =int(200) self.log = log self.conf= conf try: for key in conf.m_dictionary[dataset].keys(): if key == 'NZConnect': self.__nzconf__ = conf.m_dictionary[dataset][key] elif key == 'SQL': self.__SQL__ = conf.m_dictionary[dataset][key] elif key == 'SQLFile': self.__SQL__ = fileToStr(conf.m_dictionary[dataset][key]) elif key == 'batchsize': self.__batchsize__ = int(conf.m_dictionary[dataset][key]) elif key == 'delimiter': self.__delim__ = conf.m_dictionary[dataset][key] self.__delim__ = re.sub('"','',self.__delim__) except: log.error("{} not defined in config file".format(dataset)) sys.exit(1) if self.__nzconf__ == '' or self.__SQL__ == '': log.error("{} keys not defined in config file".format(dataset)) sys.exit(1) if delim is not None: self.__delim__ = delim self.__myNZ__ = Netezza(datetime,self.__nzconf__) self.__myNZ__.configread(log,conf) self.__myNZ__.connect(log)
class NZExtract(): def __init__(self,dateTime,conf,log,dataset=None,cfg='NZ',delim=None): """ :param dateTime: DateTiem object :type dateTime: py datatime """ self.dateTime = dateTime ## internal counter self.choked = 0 self.failure = 0 self.__nzconf__ =cfg self.__SQL__ ='' self.__delim__ = '\\' self.__batchsize__ =int(200) self.log = log self.conf= conf try: for key in conf.m_dictionary[dataset].keys(): if key == 'NZConnect': self.__nzconf__ = conf.m_dictionary[dataset][key] elif key == 'SQL': self.__SQL__ = conf.m_dictionary[dataset][key] elif key == 'SQLFile': self.__SQL__ = fileToStr(conf.m_dictionary[dataset][key]) elif key == 'batchsize': self.__batchsize__ = int(conf.m_dictionary[dataset][key]) elif key == 'delimiter': self.__delim__ = conf.m_dictionary[dataset][key] self.__delim__ = re.sub('"','',self.__delim__) except: log.error("{} not defined in config file".format(dataset)) sys.exit(1) if self.__nzconf__ == '' or self.__SQL__ == '': log.error("{} keys not defined in config file".format(dataset)) sys.exit(1) if delim is not None: self.__delim__ = delim self.__myNZ__ = Netezza(datetime,self.__nzconf__) self.__myNZ__.configread(log,conf) self.__myNZ__.connect(log) def execute(self,conf,dataset,log,param=None): self.__myNZ__.executeWoResult(log,self.__SQL__,param) def extractdata(self): self.__myNZ__.writeResult(delim=self.__delim__,arraysize=self.__batchsize__) def extractbz2(self,filename=None): if filename is not None: self.__myNZ__.writeResult(delim=self.__delim__,arraysize=self.__batchsize__,type='bz2',file=filename) else: self.log.error("Invalid File Handle") sys.exit(1) def extractgz(self,filename=None): if filename is not None: self.__myNZ__.writeResult(delim=self.__delim__,arraysize=self.__batchsize__,type='gz',file=filename) else: self.log.error("Invalid File Handle") sys.exit(1) def extracttxt(self,filename=None): if filename is not None: self.__myNZ__.writeResult(delim=self.__delim__,arraysize=self.__batchsize__,type='txt',file=filename) else: self.log.error("Invalid File Handle") sys.exit(1) def cleanup(self,log): """ Purpose: Cleans up logger :param self: class object itself """ self.__myNZ__.cleanup(log)