#
# Copyright (C) 2023 Python Packaging Authority
# Copyright (C) 2024 Sebastiano Barezzi
#
# SPDX-License-Identifier: MIT
#

def strtobool(val):
	"""Convert a string representation of truth to true (1) or false (0).

	True values are 'y', 'yes', 't', 'true', 'on', and '1'; false values
	are 'n', 'no', 'f', 'false', 'off', and '0'.  Raises ValueError if
	'val' is anything else.
	"""
	val = val.lower()
	if val in ('y', 'yes', 't', 'true', 'on', '1'):
		return 1
	elif val in ('n', 'no', 'f', 'false', 'off', '0'):
		return 0
	else:
		raise ValueError(f"invalid truth value {val!r}")
