From 91352fc13bcdd940ea366ba28cecf38398a30532 Mon Sep 17 00:00:00 2001 From: Antoine Gersant Date: Sun, 28 Jul 2024 02:34:35 -0700 Subject: [PATCH] Cleanup --- .env | 1 - src/app/scanner/scan.rs | 72 ----------------------------------------- 2 files changed, 73 deletions(-) delete mode 100644 .env delete mode 100644 src/app/scanner/scan.rs diff --git a/.env b/.env deleted file mode 100644 index 1686fee..0000000 --- a/.env +++ /dev/null @@ -1 +0,0 @@ -DATABASE_URL=sqlite:./src/db/schema.sqlite \ No newline at end of file diff --git a/src/app/scanner/scan.rs b/src/app/scanner/scan.rs deleted file mode 100644 index 2e8e4a2..0000000 --- a/src/app/scanner/scan.rs +++ /dev/null @@ -1,72 +0,0 @@ -use log::{error, info}; -use std::time; - -use crate::app::index::Index; -use crate::app::vfs; -use crate::db; - -use cleaner::Cleaner; -use collector::Collector; -use inserter::Inserter; -use traverser::Traverser; - -#[derive(thiserror::Error, Debug)] -pub enum Error { - #[error(transparent)] - IndexClean(#[from] cleaner::Error), - #[error(transparent)] - Database(#[from] sqlx::Error), - #[error(transparent)] - DatabaseConnection(#[from] db::Error), - #[error(transparent)] - Vfs(#[from] vfs::Error), -} - -impl Scanner { - pub async fn scan(&self) -> Result<(), Error> { - let start = time::Instant::now(); - info!("Beginning library index update"); - - let album_art_pattern = self - .settings_manager - .get_index_album_art_pattern() - .await - .ok(); - - let cleaner = Cleaner::new(self.db.clone(), self.vfs_manager.clone()); - cleaner.clean().await?; - - let (insert_sender, insert_receiver) = tokio::sync::mpsc::unbounded_channel(); - let insertion = tokio::spawn({ - let db = self.db.clone(); - async { - let mut inserter = Inserter::new(db, insert_receiver); - inserter.insert().await; - } - }); - - let (collect_sender, collect_receiver) = crossbeam_channel::unbounded(); - let collection = tokio::task::spawn_blocking(|| { - let collector = Collector::new(collect_receiver, insert_sender, album_art_pattern); - collector.collect(); - }); - - let vfs = self.vfs_manager.get_vfs().await?; - let traversal = tokio::task::spawn_blocking(move || { - let mounts = vfs.mounts(); - let traverser = Traverser::new(collect_sender); - traverser.traverse(mounts.iter().map(|p| p.source.clone()).collect()); - }); - - traversal.await.unwrap(); - collection.await.unwrap(); - insertion.await.unwrap(); - - info!( - "Library index update took {} seconds", - start.elapsed().as_millis() as f32 / 1000.0 - ); - - Ok(()) - } -}