Skip to content

Commit bd51de3

Browse files
feat: Enforcing arguments
_get_value if __getitem__ is not present _length if __len__ is not present
1 parent 1e39cec commit bd51de3

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

src/thread/thread.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,16 @@ def __init__(
439439
"""
440440
assert 0 <= max_threads, 'max_threads cannot be set to 0'
441441

442+
# Enforce required arguments
443+
if not isinstance(dataset, SupportsLength):
444+
assert (
445+
_length
446+
), '`_length` must be set if `dataset` does not support `__len__`'
447+
448+
if not hasattr(dataset, '__getitem__'):
449+
assert (
450+
_get_value
451+
), '`_get_value` must be set if `dataset` does not support `__getitem__`'
442452

443453
_length = _length(dataset) if callable(_length) else _length
444454
_length = len(dataset) if isinstance(dataset, SupportsLength) else _length

0 commit comments

Comments
 (0)