This documentation was generated with AI assistance and is still being audited. Some, or potentially a lot, of this information may be inaccurate. Learn more.
defnormalize_workenv_target(slot_target:str)->str:"""Normalize a slot target and reject values that escape the workenv."""normalized_target=slot_target.strip()ifnotnormalized_target:raiseValueError("Invalid slot target: target must not be empty")ifnormalized_target=="{workenv}":return"{workenv}"ifnormalized_target.startswith("{workenv}/"):normalized_target=normalized_target.removeprefix("{workenv}/")ifnotnormalized_target:return"."elif"{workenv}"innormalized_target:raiseValueError(f"Invalid slot target: unsupported placeholder usage in '{slot_target}'")if_WINDOWS_DRIVE_PATTERN.match(normalized_target):raiseValueError(f"Invalid slot target: absolute paths are not allowed: '{slot_target}'")posix_target=normalized_target.replace("\\","/")target_path=PurePosixPath(posix_target)iftarget_path.is_absolute():raiseValueError(f"Invalid slot target: absolute paths are not allowed: '{slot_target}'")ifany(part==".."forpartintarget_path.parts):raiseValueError(f"Invalid slot target: path traversal is not allowed: '{slot_target}'")normalized=target_path.as_posix()ifnormalizedin{"","."}:returnnormalizedreturnnormalized