allow specifying sleep-* options as string

either as single value or as range: "3.5", "2.1 - 5.0"
This commit is contained in:
Mike Fährmann
2021-12-18 23:04:33 +01:00
parent 0d02a7861e
commit 64cf26eaf4
3 changed files with 43 additions and 6 deletions

View File

@@ -428,18 +428,26 @@ def build_duration_func(duration, min=0.0):
if not duration:
return None
try:
lower, upper = duration
except TypeError:
pass
if isinstance(duration, str):
lower, _, upper = duration.partition("-")
lower = float(lower)
else:
try:
lower, upper = duration
except TypeError:
lower, upper = duration, None
if upper:
upper = float(upper)
return functools.partial(
random.uniform,
lower if lower > min else min,
upper if upper > min else min,
)
return functools.partial(identity, duration if duration > min else min)
else:
if lower < min:
lower = min
return lambda: lower
def build_extractor_filter(categories, negate=True, special=None):