Add support for configuring python-downloads with UV_PYTHON_DOWNLOADS (#6436)

Part of https://github.com/astral-sh/uv/issues/6406

Replaces #6416
This commit is contained in:
Zanie Blue 2024-08-22 18:19:03 -05:00 committed by GitHub
parent 99d278f9f5
commit 7502a963e1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 74 additions and 45 deletions

View file

@ -89,6 +89,19 @@ pub enum PythonDownloads {
Never,
}
impl FromStr for PythonDownloads {
type Err = String;
fn from_str(s: &str) -> Result<Self, Self::Err> {
match s.to_ascii_lowercase().as_str() {
"auto" | "automatic" | "true" | "1" => Ok(PythonDownloads::Automatic),
"manual" => Ok(PythonDownloads::Manual),
"never" | "false" | "0" => Ok(PythonDownloads::Never),
_ => Err(format!("Invalid value for `python-download`: '{s}'")),
}
}
}
impl From<bool> for PythonDownloads {
fn from(value: bool) -> Self {
if value {