MCPcopy Create free account
hub / github.com/SeleniumHQ/selenium / parse_version

Function parse_version

rust/src/files.rs:629–647  ·  view source on GitHub ↗
(version_text: String, log: &Logger)

Source from the content-addressed store, hash-verified

627}
628
629pub fn parse_version(version_text: String, log: &Logger) -> Result<String, Error> {
630 if version_text.to_ascii_lowercase().contains("error") {
631 log.debug(format!("Error parsing version: {}", version_text));
632 return Err(anyhow!(PARSE_ERROR));
633 }
634 let mut parsed_version = "".to_string();
635 let re_numbers_dots = Regex::new(r"[^\d^.]")?;
636 let re_versions = Regex::new(r"(?:(\d+)\.)?(?:(\d+)\.)?(?:(\d+)\.\d+)")?;
637 for token in version_text.split(' ') {
638 parsed_version = re_numbers_dots.replace_all(token, "").to_string();
639 if re_versions.is_match(parsed_version.as_str()) {
640 break;
641 }
642 }
643 if parsed_version.ends_with('.') {
644 parsed_version = parsed_version[0..parsed_version.len() - 1].to_string();
645 }
646 Ok(parsed_version)
647}
648
649pub fn path_to_string(path: &Path) -> String {
650 path.to_path_buf()

Callers 6

read_version_from_linkFunction · 0.85
read_redirect_from_linkFunction · 0.85
find_driver_in_pathMethod · 0.85

Calls 2

splitMethod · 0.80
debugMethod · 0.45

Tested by

no test coverage detected