MCPcopy Create free account
hub / github.com/archlinux/archinstall / select_iteration_time

Function select_iteration_time

archinstall/lib/disk/encryption_menu.py:375–406  ·  view source on GitHub ↗
(preset: int | None = None)

Source from the content-addressed store, hash-verified

373
374
375async def select_iteration_time(preset: int | None = None) -> int | None:
376 header = tr('Enter iteration time for LUKS encryption (in milliseconds)') + '\n'
377 header += tr('Higher values increase security but slow down boot time') + '\n'
378 header += tr('Default: {}ms, Recommended range: 1000-60000').format(DEFAULT_ITER_TIME) + '\n'
379
380 def validate_iter_time(value: str) -> str | None:
381 try:
382 iter_time = int(value)
383 if iter_time < 100:
384 return tr('Iteration time must be at least 100ms')
385 if iter_time > 120000:
386 return tr('Iteration time must be at most 120000ms')
387 return None
388 except ValueError:
389 return tr('Please enter a valid number')
390
391 result = await Input(
392 header=header,
393 allow_skip=True,
394 default_value=str(preset) if preset else str(DEFAULT_ITER_TIME),
395 validator_callback=validate_iter_time,
396 ).show()
397
398 match result.type_:
399 case ResultType.Skip:
400 return preset
401 case ResultType.Selection:
402 if not result.get_value():
403 return preset
404 return int(result.get_value())
405 case ResultType.Reset:
406 return None

Callers

nothing calls this directly

Calls 5

trFunction · 0.90
InputClass · 0.90
formatMethod · 0.80
showMethod · 0.45
get_valueMethod · 0.45

Tested by

no test coverage detected