INNER CODE UNIT · Python
domain
kejilion/sh · site_access_cli.py:151
domain = name[:-5].lower()
if domain != expected_domain or not re.fullmatch(r'[0-9a-f]{64}', expected_version):
raise ConfigError('creation identity is invalid')
if not verify_only and not re.fullmatch(r'\.site-create-[a-f0-9]{32}\.pending', staged_name):
raise ConfigError('creation staging identity is invalid')
source_name = name if verify_only else staged_name
directory = directory_beneath(rootfd, ['conf.d'])
try:
fd, _, data = _read(directory, source_name, 2 << 20)
os.close(fd)
if digest(data) != expected_version:
raise Conflict('site configuration changed during creation')
try:
root = parse(data.decode('utf-8'))
except UnicodeDecodeError as exc:
raise ConfigError('site configuration is not UTF-8') from exc
servers = []
for block in root.children: