Example #1
0
    def _make_no_db_instance( self, doc ):
        if not os.path.exists( doc[ KeyUploadJob.orig_filename.value ] ):
            raise Exception("El fichero a subir ya no existe")

        account_manager = AccountDBManager()

        list_of_accounts = []
        for id in doc[ KeyUploadJob.accounts_id.value ]:
            list_of_accounts.append( account_manager.get_account_with_id( id ) )

        uploader = UploaderFactory().make(
                doc[ KeyUploadJob.host_name.value ] + "Uploader",  
                list_of_accounts, 
                doc[ KeyUploadJob.orig_filename.value ],
                doc[ KeyUploadJob.dest_filename.value ]
        )


        upload_job = UploadJob(
                uploader, 
                priority = doc[ KeyUploadJob.priority.value ]
        )
        upload_job._state = JobStateEnum( doc[ KeyUploadJob.current_state.value ] )

        return upload_job
Example #2
0
    def upload( self, host_name, file_path_to_upload, file_path_remote, accounts_id_list = [],  priority = 5 ):
        self.logger.info( "Adjuntada la subida del fichero '%s' al host '%s'", file_path_to_upload, host_name )

        account_manager = AccountDBManager()

        account_list = []
        if accounts_id_list == []:
            #TODO get all the accounts
            for account in account_manager.get_account_list_of_host( host_name ):
                account_list.append( account )
        else:
            for id in accounts_id_list:
                account_list.append( account_manager.get_account_with_hostname_user( id ) )

        uploader = UploaderFactory().make( host_name + "Uploader", account_list, file_path_to_upload, file_path_remote )

        job = JobFactory().make("UploadJob", uploader, priority = priority )

        db_job = UploadJobDBManager().add( job )
        resultado = self._job_manager.add( db_job )

        if resultado:
            self.logger.info( "Adjuntada con exito la subida '%s' al host '%s'" % ( file_path_to_upload, host_name ) )
            self._uploads_list.append( db_job )
        else:
            self.logger.error( "Error al adjuntar la subida '%s' al host '%s'" % ( file_path_to_upload, host_name ) )

        return resultado
Example #3
0
    def delAccount( self, host_name, user ):
        account_manager = AccountDBManager()

        db_account = account_manager.get_account_with_hostname_user( "{}:{}".format( host_name, user ) )
        if db_account == None:
            return False

        db_account.delete()
        return True
Example #4
0
    def listAccounts( self ):
        account_manager = AccountDBManager()

        for x in account_manager.get_account_list():
            d = {}

            d[ AccountEnum.host ] = x.account_host
            d[ AccountEnum.user ] = x.user

            yield d
Example #5
0
    def addAccount( self, host_name, user, password ):
        account_manager = AccountDBManager()

        account = AccountBase( host_name )
        account.user = user
        account.password = password

        db_account = account_manager.add( account )

        return db_account != None