refact(fedora): Package creation from output

Packages created now strip the repo if it is one of the default one on
fedora

Signed-off-by: innocentzero <isfarulhaque@proton.me>
This commit is contained in:
innocentzero
2024-04-11 22:13:04 +05:30
parent dc14a43f90
commit 2ad5ef4cf5
@@ -38,7 +38,7 @@ impl Backend for Fedora {
cmd.args(self.get_switches_info());
let output = String::from_utf8(cmd.output()?.stdout)?;
let packages: HashSet<Package> = output.lines().map(|package| package.into()).collect();
let packages: HashSet<Package> = output.lines().map(create_package).collect();
Ok(packages)
}
@@ -53,7 +53,7 @@ impl Backend for Fedora {
let output = String::from_utf8(cmd.output()?.stdout)?;
let packages: HashSet<Package> = output.lines().map(|package| package.into()).collect();
let packages: HashSet<Package> = output.lines().map(create_package).collect();
Ok(packages)
}
@@ -107,3 +107,18 @@ impl Fedora {
}
}
}
fn create_package(package: &str) -> Package {
if (package.contains("koji")
|| package.contains("fedora")
|| package.contains("updates")
|| package.contains("anaconda")
|| package.contains('@'))
&& !package.contains("copr")
{
let package = package.split('/').nth(1).expect("Cannot be empty!");
package.into()
} else {
package.into()
}
}