18 lines
411 B
Python
18 lines
411 B
Python
from __future__ import annotations
|
|
|
|
import re
|
|
|
|
|
|
SESSION_NAME_RE = re.compile(r"^[A-Za-z0-9._-]{1,64}$")
|
|
|
|
|
|
def is_valid_session_name(name: str) -> bool:
|
|
return SESSION_NAME_RE.fullmatch(name) is not None
|
|
|
|
|
|
def validate_session_name(name: str) -> None:
|
|
if not is_valid_session_name(name):
|
|
raise ValueError(
|
|
"session name must be 1-64 ASCII letters, numbers, '.', '_' or '-'"
|
|
)
|