mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-04-21 06:59:17 -04:00
* WIP materialized_path abstraction revamp * Optimizing indexer rules loading * Using a better serialize impl for indexer rules * New interruptable and faster Walker * WIP new indexer * WIP first success compiling after breaking the world * Fixing some warnings * Handling some lifetime issues in the walker * New job completed with errors feature * Introducing completed with errors to indexer Removing IOError variant from JobError and using FileIOError instead * Rust fmt * Adding missing job status * Better ergonomics to IsolatedFilePathData Conversions from db's file_path kinds Keeping original's relative path data to better conversion to OS's path First unit tests * Testing and fixing parent method * Some error handling * Rust fmt * Some small fixes * Fixing indexer rules decoding * Bunch of small fixes * Rust fmt * Fixing indexer rules * Updating frontend to new materialized_path format * Trying to fix windows CI --------- Co-authored-by: Brendan Allan <brendonovich@outlook.com>
25 lines
527 B
Rust
25 lines
527 B
Rust
use std::{io, path::Path};
|
|
|
|
use thiserror::Error;
|
|
|
|
#[derive(Debug, Error)]
|
|
#[error("error accessing path: '{}'", .path.display())]
|
|
pub struct FileIOError {
|
|
path: Box<Path>,
|
|
#[source]
|
|
source: io::Error,
|
|
}
|
|
|
|
impl<P: AsRef<Path>> From<(P, io::Error)> for FileIOError {
|
|
fn from((path, source): (P, io::Error)) -> Self {
|
|
Self {
|
|
path: path.as_ref().into(),
|
|
source,
|
|
}
|
|
}
|
|
}
|
|
|
|
#[derive(Debug, Error)]
|
|
#[error("received a non UTF-8 path: <lossy_path='{}'>", .0.to_string_lossy())]
|
|
pub struct NonUtf8PathError(pub Box<Path>);
|