fix: Check both stderr and stdout for Python version (#66)
* fix python version not showing for version < 3.4 * make review changes
This commit is contained in:
parent
c2b0f3ac49
commit
4cd98d862d
|
@ -46,7 +46,18 @@ pub fn segment(context: &Context) -> Option<Module> {
|
||||||
|
|
||||||
fn get_python_version() -> Option<String> {
|
fn get_python_version() -> Option<String> {
|
||||||
match Command::new("python").arg("--version").output() {
|
match Command::new("python").arg("--version").output() {
|
||||||
Ok(output) => Some(String::from_utf8(output.stdout).unwrap()),
|
Ok(output) => {
|
||||||
|
// We have to check both stdout and stderr since for Python versions
|
||||||
|
// < 3.4, Python reports to stderr and for Python version >= 3.5,
|
||||||
|
// Python reports to stdout
|
||||||
|
if output.stdout.is_empty() {
|
||||||
|
let stderr_string = String::from_utf8(output.stderr).unwrap();
|
||||||
|
Some(stderr_string)
|
||||||
|
} else {
|
||||||
|
let stdout_string = String::from_utf8(output.stdout).unwrap();
|
||||||
|
Some(stdout_string)
|
||||||
|
}
|
||||||
|
}
|
||||||
Err(_) => None,
|
Err(_) => None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue