clap
This commit is contained in:
parent
0cba43f2e0
commit
ee97021e70
25
src/main.rs
25
src/main.rs
@ -3,13 +3,37 @@ mod loaders;
|
|||||||
|
|
||||||
use crate::loaders::sources::{load_sources, save_sources_to_toml};
|
use crate::loaders::sources::{load_sources, save_sources_to_toml};
|
||||||
use crate::loaders::packages::{get_installed_packages, save_packages_to_toml};
|
use crate::loaders::packages::{get_installed_packages, save_packages_to_toml};
|
||||||
|
use clap::Parser;
|
||||||
|
|
||||||
|
#[derive(Parser)]
|
||||||
|
struct Cli {
|
||||||
|
#[arg(long, required = true)]
|
||||||
|
main_option: String,
|
||||||
|
}
|
||||||
|
|
||||||
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||||
|
let cli = Cli::parse();
|
||||||
|
|
||||||
|
let user_option = cli.main_option;
|
||||||
|
|
||||||
|
match user_option.as_str() {
|
||||||
|
"load" => sources_fn()?,
|
||||||
|
"sync" => packages_sync_fn()?,
|
||||||
|
_ => println!("Invalid option"),
|
||||||
|
}
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
fn sources_fn() -> Result<(), Box<dyn std::error::Error>>{
|
||||||
// Sources
|
// Sources
|
||||||
let sources = load_sources("/etc/apt/sources.list")?;
|
let sources = load_sources("/etc/apt/sources.list")?;
|
||||||
save_sources_to_toml(&sources, "sources.toml")?;
|
save_sources_to_toml(&sources, "sources.toml")?;
|
||||||
println!("Saved sources to sources.toml");
|
println!("Saved sources to sources.toml");
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
fn packages_sync_fn() -> Result<(), Box<dyn std::error::Error>> {
|
||||||
// Packages
|
// Packages
|
||||||
let packages = get_installed_packages()?;
|
let packages = get_installed_packages()?;
|
||||||
save_packages_to_toml(&packages, "packages.toml")?;
|
save_packages_to_toml(&packages, "packages.toml")?;
|
||||||
@ -17,4 +41,3 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user