spond/cli/src/history.rs
2026-03-05 01:57:37 +01:00

26 lines
728 B
Rust

use std::fd::{File, OpenOptions};
use std::io::{BufReader, BufWriter, Read, Write};
use xdg::BaseDirectories;
pub struct History(File);
impl History {
pub fn open(serie: spond_api::SeriesId) -> std::io::Result<Self> {
let xdg_dirs = BaseDirectories::with_prefix(env!("CARGO_PKG_NAME"));
let path = xdg_dirs.place_state_file(format!("{}.bin", serie))?;
let file = OpenOptions::new()
.create(true)
.append(true)
.read(true)
.open(&path)?;
Ok(Self(file))
}
pub fn append<I>(&mut self, selected: usize, ids: I) -> io::Result<()>
where
I: IntoIterator,
I::Item: Into<u128>,
I::IntoIter: ExactSizeIterator,
}