Exemplo n.º 1
0
def end_submission(submission_id, data, hard_finish):

    if 'enable_auth' not in data:
        API_LOG.log("Missing parameters in request")
        raise ex.BadRequestException()

    enable_auth = data['enable_auth'] 

    if enable_auth:
        if 'username' not in data or 'password' not in data:
            API_LOG.log("Missing parameters in request")
            raise ex.BadRequestException()

        username = data['username']
        password = data['password']

        authorization = authorizer.get_authorization(api.authorization_url,
                                                 username, password)
                                            
        if not authorization['success']:
            API_LOG.log("Unauthorized request")
            raise ex.UnauthorizedException()

    if submission_id not in submissions.keys():
        API_LOG.log("Wrong request")
        raise ex.BadRequestException()

    if(hard_finish):
        submissions[submission_id].terminate_job()
    else:
        submissions[submission_id].stop_application()

    return {"job_id": submission_id}
Exemplo n.º 2
0
def run_submission(data):
    if ('plugin' not in data or 'plugin_info' not in data):
        API_LOG.log("Missing plugin fields in request")
        raise ex.BadRequestException("Missing plugin fields in request")

    if data['enable_auth']:
        if ('username' not in data or 'password' not in data):
            API_LOG.log("Missing plugin fields in request")
            raise ex.BadRequestException("Missing plugin fields in request")

        username = data['username']
        password = data['password']

        authorization = authorizer.get_authorization(api.authorization_url,
                                                    username, password)

        if not authorization['success']:
            API_LOG.log("Unauthorized request")
            raise ex.UnauthorizedException()

    else:
        if data['plugin'] not in api.plugins: raise ex.BadRequestException()
 
        plugin = plugin_base.PLUGINS.get_plugin(data['plugin'])
        submission_id, executor = plugin.execute(data['plugin_info'])
        submissions[submission_id] = executor

        return {"job_id": submission_id}
Exemplo n.º 3
0
def check_authorization(data):
    """ Checks the user's need to authenticate to Asperathos
    Raises:
        ex.BadRequestException -- Missing parameters in request
        ex.UnauthorizedException -- Unauthorized request
    """
    if ('enable_auth' not in data):
        API_LOG.log("Missing parameters in request")
        raise ex.BadRequestException()

    enable_auth = data['enable_auth']

    if enable_auth:
        if 'username' not in data or 'password' not in data:
            API_LOG.log("Missing parameters in request")
            raise ex.BadRequestException()

        username = data['username']
        password = data['password']

        authorization = authorizer.get_authorization(api.authorization_url,
                                                     username, password)
        if not authorization['success']:
            API_LOG.log("Unauthorized request")
            raise ex.UnauthorizedException()
Exemplo n.º 4
0
def run_submission(data):
    plugin_service.check_submission(plugin_connector, data)
    if ('plugin' not in data or 'plugin_info' not in data):
        API_LOG.log("Missing plugin fields in request")
        raise ex.BadRequestException("Missing plugin fields in request")

    if data['enable_auth']:
        if ('username' not in data or 'password' not in data):
            API_LOG.log("Missing plugin fields in request")
            raise ex.BadRequestException("Missing plugin fields in request")

        username = data['username']
        password = data['password']
        authorization = (authorizer.get_authorization(api.authorization_url,
                                                      username, password))

        if not authorization['success']:
            API_LOG.log("Unauthorized request")
            raise ex.UnauthorizedException()

    if data['plugin'] not in api.plugins:
        API_LOG.log("Plugin \"{}\" is missing.\
        The plugins available are {}".format(data['plugin'], api.plugin))
        raise ex.BadRequestException("Plugin \"{}\" is missing.\
        The plugins available are {}".format(data['plugin'], api.plugin))

    plugin = plugin_service.get_plugin(data['plugin'])
    submission_data = data['plugin_info']
    submission_data['enable_auth'] = data['enable_auth']
    submission_id, executor = plugin.execute(submission_data)
    submissions[submission_id] = executor

    return {"job_id": submission_id}
Exemplo n.º 5
0
def terminate_submission(submission_id, data):

    if 'username' not in data or 'password' not in data:
        API_LOG.log("Missing parameters in request")
        raise ex.BadRequestException()

    username = data['username']
    password = data['password']

    authorization = authorizer.get_authorization(api.authorization_url,
                                                 username, password)

    if not authorization['success']:
        API_LOG.log("Unauthorized request")
        raise ex.UnauthorizedException()

    else:
        if submission_id not in submissions.keys():
            API_LOG.log("Wrong request")
            raise ex.BadRequestException()

        submissions[submission_id].terminate_job()
Exemplo n.º 6
0
def stop_submission(submission_id, data):
    if 'username' not in data or 'password' not in data:
        API_LOG.log("Missing parameters in request")
        raise ex.BadRequestException()

    username = data['username']
    password = data['password']

    authorization = authorizer.get_authorization(api.authorization_url,
                                                 username, password)

    if not authorization['success']:
        API_LOG.log("Unauthorized request")
        raise ex.UnauthorizedException()

    else:
        if submission_id not in submissions.keys():
            raise ex.BadRequestException()

        # TODO: Call the executor by submission_id and stop the execution.

        return submissions[submission_id]