def extract_submittable_jobs(waiting):
    """Obtain a list of jobs that are able to be submitted from the passed
    list of pending jobs

    - waiting           List of Job objects
    """
    submittable = set()            # Holds jobs that are able to be submitted
    # Loop over each job, and check all the subjobs in that job's dependency
    # list.  If there are any, and all of these have been submitted, then
    # append the job to the list of submittable jobs.
    for job in waiting:
        unsatisfied = sum([(subjob.submitted is False) for subjob in
                           job.dependencies])
        if unsatisfied == 0:
            submittable.add(job)
    return list(submittable)
def extract_submittable_jobs ( waiting ) : submittable = set ( ) for job in waiting : unsatisfied = sum ( [ ( subjob . submitted is False ) for subjob in job . dependencies ] ) if unsatisfied == 0 : submittable . add ( job ) return list ( submittable )
Obtain a list of jobs that are able to be submitted from the passed
    list of pending jobs

    - waiting           List of Job objects