aboutsummaryrefslogtreecommitdiff
path: root/server/src/library.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-06-12 22:54:04 +0200
committermetamuffin <metamuffin@disroot.org>2023-06-12 22:54:04 +0200
commit905ffe80fcd97b1b6b2c194181b2426b601d52d1 (patch)
tree144608428f7b147934373cad98ef01818740cfb4 /server/src/library.rs
parent026c72d54f0adfcb20b239f3e76f1938ec644f25 (diff)
downloadjellything-905ffe80fcd97b1b6b2c194181b2426b601d52d1.tar
jellything-905ffe80fcd97b1b6b2c194181b2426b601d52d1.tar.bz2
jellything-905ffe80fcd97b1b6b2c194181b2426b601d52d1.tar.zst
fallback banner and directory cards
Diffstat (limited to 'server/src/library.rs')
-rw-r--r--server/src/library.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/server/src/library.rs b/server/src/library.rs
index 2b5cf9b..e810c65 100644
--- a/server/src/library.rs
+++ b/server/src/library.rs
@@ -16,6 +16,7 @@ use std::{
pub struct Library {
pub root: Arc<Node>,
+ pub root_path: PathBuf,
}
#[derive(Debug, Clone)]
@@ -43,6 +44,7 @@ pub struct Item {
impl Library {
pub fn open(path: &Path) -> anyhow::Result<Self> {
Ok(Self {
+ root_path: path.to_path_buf(),
root: Node::from_path(path.to_path_buf(), PathBuf::new(), true)
.context("indexing root")?
.ok_or(anyhow!("root need directory.json"))?,
@@ -91,6 +93,13 @@ impl Node {
Node::Item(i) => &i.identifier,
}
}
+ pub fn banner(&self) -> &Option<PathBuf> {
+ match self {
+ Node::Directory(d) => &d.info.banner,
+ Node::Item(i) => &i.info.banner,
+ }
+ }
+
pub fn from_path(
path: PathBuf,
mut lib_path: PathBuf,