test
This commit is contained in:
parent
96713d5110
commit
5baadcf6bb
@ -54,3 +54,26 @@ pub fn load_sources(path: &str) -> io::Result<Vec<AptSource>> {
|
|||||||
|
|
||||||
Ok(sources)
|
Ok(sources)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
use std::fs;
|
||||||
|
use std::error::Error;
|
||||||
|
use serde::Serialize;
|
||||||
|
|
||||||
|
/// Save sources into a TOML file with a top-level `repositories` array-of-tables
|
||||||
|
pub fn save_sources_to_toml(sources: &[AptSource], path: &str) -> Result<(), Box<dyn Error>> {
|
||||||
|
// tiny wrapper so toml serializes into:
|
||||||
|
// [[repositories]]
|
||||||
|
// ...
|
||||||
|
#[derive(Serialize)]
|
||||||
|
struct Repos<'a> {
|
||||||
|
repositories: &'a [AptSource],
|
||||||
|
}
|
||||||
|
|
||||||
|
let wrapper = Repos { repositories: sources };
|
||||||
|
|
||||||
|
let toml_string = toml::to_string_pretty(&wrapper)?;
|
||||||
|
fs::write(path, toml_string)?;
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
12
src/main.rs
12
src/main.rs
@ -1,12 +1,12 @@
|
|||||||
mod loaders;
|
|
||||||
mod structs;
|
mod structs;
|
||||||
|
mod loaders;
|
||||||
|
|
||||||
use crate::loaders::sources::load_sources;
|
use crate::loaders::sources::{load_sources, save_sources_to_toml};
|
||||||
|
|
||||||
fn main() -> std::io::Result<()> {
|
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||||
let sources = load_sources("/etc/apt/sources.list")?;
|
let sources = load_sources("/etc/apt/sources.list")?;
|
||||||
for source in sources {
|
save_sources_to_toml(&sources, "sources.toml")?;
|
||||||
println!("{:?}", source);
|
println!("Saved sources to sources.toml");
|
||||||
}
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user