def reqall(container, first, *options):
    """ If the first option is present require all the others. """
    if first is not None and container.get(first) is None:
        return
    for option in options:
        if container.get(option) is not None:
            continue
        if first is None:
            raise ValueError('options %s is required' % (option,))
        raise ValueError('option %s requires option %s' % (first, option))
