def get_file(self, local_path=None, file_name=None): self.logger.debug('Getting file ...') try: tmp_file_name = str(Util.generate_uuid()) local_full_path = System.Ahenk.received_dir_path() + tmp_file_name sftp = paramiko.SFTPClient.from_transport(self.connection) sftp.get(self.target_path, local_full_path) if local_path is None: receive_path = System.Ahenk.received_dir_path() else: receive_path = local_path if file_name is not None: f_name = file_name else: f_name = str(Util.get_md5_file(local_full_path)) Util.rename_file(local_full_path, receive_path + f_name) self.logger.debug('File was downloaded to {0} from {1}'.format( receive_path, self.target_path)) except Exception as e: self.logger.warning( 'A problem occurred while downloading file. Exception message: {0}' .format(str(e))) raise return f_name
def execute_script(self, arg): try: self.logger.debug('Executing script...') messenger = Scope().get_instance().get_messenger() json_data = json.loads(arg) result_code, p_out, p_err = Util.execute(str(json_data['command'])) self.logger.debug('Executed script') data = dict() data['type'] = 'SCRIPT_RESULT' data['timestamp'] = str(Util.timestamp()) if result_code == 0: self.logger.debug('Command execution was finished successfully') try: temp_name = str(Util.generate_uuid()) temp_full_path = System.Ahenk.received_dir_path() + temp_name self.logger.debug('Writing result to file') Util.write_file(temp_full_path, str(p_out)) md5 = Util.get_md5_file(temp_full_path) Util.rename_file(temp_full_path, System.Ahenk.received_dir_path() + md5) file_manager = FileTransferManager(json_data['fileServerConf']['protocol'], json_data['fileServerConf']['parameterMap']) file_manager.transporter.connect() self.logger.debug('File transfer connection was created') success = file_manager.transporter.send_file(System.Ahenk.received_dir_path() + md5, md5) self.logger.debug('File was transferred') file_manager.transporter.disconnect() self.logger.debug('File transfer connection was closed') if success is False: self.logger.error('A problem occurred while file transferring') data['resultCode'] = '-1' data[ 'errorMessage'] = 'Command executed successfully but a problem occurred while sending result file' else: data['md5'] = md5 except Exception as e: self.logger.error( 'A problem occurred while file transferring. Error Message :{0}'.format( str(e))) raise else: self.logger.error( 'Command execution was failed. Error Message :{0}'.format(str(result_code))) data['resultCode'] = str(result_code) data['errorMessage'] = str(p_err) messenger.send_direct_message(json.dumps(data)) except Exception as e: self.logger.error( 'A problem occurred while running execute script action. Error Message :{0}'.format( str(e)))
def get_file(self): self.logger.debug('[FileTransfer] Getting file ...') file_md5 = None try: tmp_file_name = str(Util.generate_uuid()) local_full_path = System.Ahenk.received_dir_path() + tmp_file_name urllib.request.urlretrieve(self.url, local_full_path) file_md5 = str(Util.get_md5_file(local_full_path)) Util.rename_file(local_full_path, System.Ahenk.received_dir_path() + file_md5) self.logger.debug('File was downloaded to {0} from {1}'.format(local_full_path, self.url)) except Exception as e: self.logger.error( 'A problem occurred while downloading file. Exception message: {0}'.format(str(e))) raise return file_md5
def get_file(self): self.logger.debug('[FileTransfer] Getting file ...') file_md5 = None try: tmp_file_name = str(Util.generate_uuid()) local_full_path = System.Ahenk.received_dir_path() + tmp_file_name urllib.request.urlretrieve(self.url, local_full_path) file_md5 = str(Util.get_md5_file(local_full_path)) Util.rename_file(local_full_path, System.Ahenk.received_dir_path() + file_md5) self.logger.debug('File was downloaded to {0} from {1}'.format( local_full_path, self.url)) except Exception as e: self.logger.error( 'A problem occurred while downloading file. Exception message: {0}' .format(str(e))) raise return file_md5
def get_file(self, local_path=None, file_name=None): self.logger.debug('Getting file ...') try: tmp_file_name = str(Util.generate_uuid()) local_full_path = System.Ahenk.received_dir_path() + tmp_file_name sftp = paramiko.SFTPClient.from_transport(self.connection) sftp.get(self.target_path, local_full_path) if local_path is None: receive_path = System.Ahenk.received_dir_path() else: receive_path = local_path if file_name is not None: f_name = file_name else: f_name = str(Util.get_md5_file(local_full_path)) Util.rename_file(local_full_path, receive_path + f_name) self.logger.debug('File was downloaded to {0} from {1}'.format(receive_path, self.target_path)) except Exception as e: self.logger.warning('A problem occurred while downloading file. Exception message: {0}'.format(str(e))) raise return f_name