01/04/26_00.35

This commit is contained in:
Domipoke
2026-04-01 00:35:07 +02:00
commit 2f90d71911
25 changed files with 6231 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
use std::collections::{HashMap, HashSet};
use std::fs;
use std::result::Result::Ok;
use serde::Deserialize;
#[derive(Deserialize,Clone)]
pub struct LibraryItem {
pub name: String,
pub episodes: String
}
impl LibraryItem {
pub fn buildfromName(name: &str) -> Result<HashMap<String, Vec<LibraryItem>>, &str> {
let f = format!("library/{}", name);
if let Ok(exists)= fs::exists(&f) {
if exists {
if let Ok(content)= fs::read_to_string(&f) {
let mut data: HashMap<String, Vec<LibraryItem>> = toml::from_str(&content).unwrap();
for items in data.values_mut() {
let mut hs = HashSet::new();
items.retain(|item| {
hs.insert(item.name.clone())
});
items.sort_by(|a,b| {
a.name.cmp(&b.name)
});
}
return Ok(data);
}
}
}
return Err(name);
}
}