fix: remove useless threading
All checks were successful
/ check (push) Successful in 39s

This commit is contained in:
Didier Slof 2023-07-18 17:51:55 +02:00
parent a689abbc5d
commit c12b78b3c1
Signed by: didier
GPG key ID: 01E71F18AA4398E5
9 changed files with 157 additions and 38 deletions

View file

@ -128,3 +128,36 @@ impl FromStr for PackageLocator {
})
}
}
impl From<(String, String)> for PackageLocator {
fn from((name, locate_str): (String, String)) -> Self {
// name = "pkg"
// locate_str = "1.0.0:tag1,tag2" or "1.0.0" or "tag1,tag2"
let mut version = None;
let mut tags = None;
let version_re = Regex::new("^([0-9]+)").unwrap();
let tags_re = Regex::new("^:([a-zA-Z0-9,._]+)").unwrap();
if let Some(caps) = version_re.captures(locate_str.as_str()) {
version = Some(caps.get(1).unwrap().as_str().parse::<u32>().unwrap());
}
if let Some(caps) = tags_re.captures(locate_str.as_str()) {
tags = Some(
caps.get(1)
.unwrap()
.as_str()
.split(",")
.map(|s| s.to_string())
.collect(),
);
}
PackageLocator {
name,
version,
tags,
}
}
}