Exemplo n.º 1
0
def get_matching_jobs(request, **kwargs):
    """
  Returns an array of jobs where the returned
  jobs are matched by the provided filter arguments.

  If a filter argument is in kwargs it will supersede the same argument
  in the request object.

  Filter arguments may be jobid, pools, user, tasks, text and state.
  """
    jobfunc = {
        "completed": request.jt.completed_jobs,
        # Succeeded and completed are synonyms here.
        "succeeded": request.jt.completed_jobs,
        "running": request.jt.running_jobs,
        "failed": request.jt.failed_jobs,
        "killed": request.jt.killed_jobs,
        "all": request.jt.all_jobs
    }
    if 'state' in kwargs:
        selection = kwargs['state']
    else:
        selection = request.GET.get("state", "all")

    joblist = jobfunc[selection]().jobs

    return [
        Job.from_thriftjob(request.jt, j)
        for j in _filter_jobs_by_req(joblist, request, **kwargs)
    ]
Exemplo n.º 2
0
def get_matching_jobs(request, **kwargs):
    """
  Returns an array of jobs where the returned
  jobs are matched by the provided filter arguments.

  If a filter argument is in kwargs it will supersede the same argument
  in the request object.

  Filter arguments may be jobid, pools, user, tasks, text and state.
  """
    jobfunc = {
        "completed": request.jt.completed_jobs,
        # Succeeded and completed are synonyms here.
        "succeeded": request.jt.completed_jobs,
        "running": request.jt.running_jobs,
        "failed": request.jt.failed_jobs,
        "killed": request.jt.killed_jobs,
        "all": request.jt.all_jobs
    }
    if 'state' in kwargs:
        selection = kwargs['state']
    else:
        selection = request.GET.get("state", "all")

    joblist = jobfunc[selection]().jobs

    return [
        Job.from_thriftjob(request.jt, j)
        for j in _filter_jobs_by_req(joblist, request, **kwargs)
    ]
Exemplo n.º 3
0
def get_matching_jobs(request, check_permission=False, **kwargs):
  """
  Returns an array of jobs where the returned
  jobs are matched by the provided filter arguments.

  If a filter argument is in kwargs it will supersede the same argument
  in the request object.

  Filter arguments may be jobid, pools, user, tasks, text and state.

  Filter by user ownership if check_permission is set to true.
  """
  jobfunc = {"completed" : (request.jt.completed_jobs, ThriftJobState.SUCCEEDED),
             # Succeeded and completed are synonyms here.
             "succeeded" : (request.jt.completed_jobs, ThriftJobState.SUCCEEDED),
             "running" : (request.jt.running_jobs, ThriftJobState.RUNNING),
             "failed" : (request.jt.failed_jobs, ThriftJobState.FAILED),
             "killed" : (request.jt.killed_jobs, ThriftJobState.KILLED),
             "all" : (request.jt.all_jobs, None)}
  if 'state' in kwargs:
    selection = kwargs['state']
  else:
    selection = request.GET.get("state", "all")

  joblist = jobfunc[selection][0]().jobs + request.jt.retired_jobs(jobfunc[selection][1]).jobs

  return [Job.from_thriftjob(request.jt, j)
          for j in _filter_jobs_by_req(joblist, request, **kwargs)
          if not check_permission or request.user.is_superuser or j.profile.user == request.user]
Exemplo n.º 4
0
  def filter_jobs(self, user, jobs, **kwargs):
    check_permission = not SHARE_JOBS.get() and not user.is_superuser

    limit = kwargs.pop('limit', 10000)

    return [Job.from_thriftjob(self.jt, j)
            for j in self._filter_jobs(jobs, **kwargs)
            if not check_permission or user.is_superuser or j.profile.user == user.username][:limit]
Exemplo n.º 5
0
    def filter_jobs(self, user, jobs, **kwargs):
        check_permission = not SHARE_JOBS.get() and not user.is_superuser

        return [
            Job.from_thriftjob(self.jt, j)
            for j in self._filter_jobs(jobs, **kwargs) if not check_permission
            or user.is_superuser or j.profile.user == user.username
        ]
Exemplo n.º 6
0
def get_matching_jobs(request, check_permission=False, **kwargs):
    """
  Returns an array of jobs where the returned
  jobs are matched by the provided filter arguments.

  If a filter argument is in kwargs it will supersede the same argument
  in the request object.

  Filter arguments may be jobid, pools, user, tasks, text and state.

  Filter by user ownership if check_permission is set to true.
  """
    jobfunc = {
        "completed": (request.jt.completed_jobs, ThriftJobState.SUCCEEDED),
        # Succeeded and completed are synonyms here.
        "succeeded": (request.jt.completed_jobs, ThriftJobState.SUCCEEDED),
        "running": (request.jt.running_jobs, ThriftJobState.RUNNING),
        "failed": (request.jt.failed_jobs, ThriftJobState.FAILED),
        "killed": (request.jt.killed_jobs, ThriftJobState.KILLED),
        "all": (request.jt.all_jobs, None)
    }
    if 'state' in kwargs:
        selection = kwargs['state']
    else:
        selection = request.GET.get("state", "all")

    if 'retired' in kwargs:
        retired_arg = kwargs['retired']
    else:
        retired_arg = request.GET.get("retired", None)

    retired = coerce_bool(retired_arg)

    joblist = jobfunc[selection][0]().jobs

    if retired == True:
        joblist += request.jt.retired_jobs(jobfunc[selection][1]).jobs

    return [
        Job.from_thriftjob(request.jt, j)
        for j in _filter_jobs_by_req(joblist, request, **kwargs)
        if not check_permission or request.user.is_superuser
        or j.profile.user == request.user.username
    ]