pub mod doctor;
mod metadata;
pub mod migrate;
mod version;
mod virtualenv;
pub use metadata::Metadata;
pub use version::VersionService;
pub use virtualenv::VirtualenvService;
pub const SCOOP_ACTIVE_ENV: &str = "SCOOP_ACTIVE";
pub fn parse_pyvenv_version(venv_path: &std::path::Path) -> Option<String> {
let cfg_path = venv_path.join("pyvenv.cfg");
let content = std::fs::read_to_string(&cfg_path).ok()?;
for line in content.lines() {
let line = line.trim();
if let Some(value) = line.strip_prefix("version") {
let value = value.trim_start_matches([' ', '=']);
return Some(value.trim().to_string());
}
}
None
}
pub fn get_active_env() -> Option<String> {
std::env::var(SCOOP_ACTIVE_ENV).ok()
}