def list_items(path_to_directory, pattern, wanted):
    """All items in the given path which match the given glob and are wanted"""
    if not path_to_directory:
        return set()
    needed = make_needed(pattern, path_to_directory, wanted)
    return [os.path.join(path_to_directory, name)
            for name in _names_in_directory(path_to_directory)
            if needed(name)]
All items in the given path which match the given glob and are wanted