Figure out which inputs don't yet have fragments.
    
    This is useful when some of your fragment generation jobs fail and you need 
    to rerun them.

def pick_inputs(workspace):
    """
    Figure out which inputs don't yet have fragments.
    
    This is useful when some of your fragment generation jobs fail and you need 
    to rerun them.  
    """
    frags_present = set()
    frags_absent = set()

    for path in workspace.input_paths:
        if workspace.fragments_missing(path):
            frags_absent.add(path)
        else:
            frags_present.add(path)

    # If no fragments have been generated yet, just return the directory to 
    # make the resulting 'klab_generate_fragments' command a little simpler.
    if not frags_present:
        return [workspace.input_dir]

    print '{0} of {1} inputs are missing fragments.'.format(
        len(frags_absent), len(workspace.input_paths))

    return sorted(frags_absent)