PHP 8.2.30
Preview: _itertools.py Size: 1.25 KB
//opt/hc_python/lib/python3.12/site-packages/importlib_resources/_itertools.py

# from more_itertools 9.0
def only(iterable, default=None, too_long=None):
    """If *iterable* has only one item, return it.
    If it has zero items, return *default*.
    If it has more than one item, raise the exception given by *too_long*,
    which is ``ValueError`` by default.
    >>> only([], default='missing')
    'missing'
    >>> only([1])
    1
    >>> only([1, 2])  # doctest: +IGNORE_EXCEPTION_DETAIL
    Traceback (most recent call last):
    ...
    ValueError: Expected exactly one item in iterable, but got 1, 2,
     and perhaps more.'
    >>> only([1, 2], too_long=TypeError)  # doctest: +IGNORE_EXCEPTION_DETAIL
    Traceback (most recent call last):
    ...
    TypeError
    Note that :func:`only` attempts to advance *iterable* twice to ensure there
    is only one item.  See :func:`spy` or :func:`peekable` to check
    iterable contents less destructively.
    """
    it = iter(iterable)
    first_value = next(it, default)

    try:
        second_value = next(it)
    except StopIteration:
        pass
    else:
        msg = (
            'Expected exactly one item in iterable, but got {!r}, {!r}, '
            'and perhaps more.'.format(first_value, second_value)
        )
        raise too_long or ValueError(msg)

    return first_value

Directory Contents

Dirs: 4 × Files: 9

Name Size Perms Modified Actions
compat DIR
- drwxr-xr-x 2025-04-04 08:01:59
Edit Download
future DIR
- drwxr-xr-x 2025-04-04 08:01:59
Edit Download
tests DIR
- drwxr-xr-x 2025-04-04 08:01:59
Edit Download
- drwxr-xr-x 2025-04-04 08:01:59
Edit Download
5.42 KB lrw-r--r-- 2025-04-04 08:01:59
Edit Download
0 B lrw-r--r-- 2025-04-04 08:01:59
Edit Download
6.10 KB lrw-r--r-- 2025-04-04 08:01:59
Edit Download
2.53 KB lrw-r--r-- 2025-04-04 08:01:59
Edit Download
4.38 KB lrw-r--r-- 2025-04-04 08:01:59
Edit Download
5.49 KB lrw-r--r-- 2025-04-04 08:01:59
Edit Download
2.68 KB lrw-r--r-- 2025-04-04 08:01:59
Edit Download
1.25 KB lrw-r--r-- 2025-04-04 08:01:59
Edit Download
700 B lrw-r--r-- 2025-04-04 08:01:59
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).