From f46e5de6479c38189aa6a8ee8e84676d91712c0c Mon Sep 17 00:00:00 2001 From: Lilith Iris Date: Mon, 11 Nov 2024 02:32:16 +0700 Subject: [PATCH] init --- Cargo.lock | 21 +++++++++++++++++++++ crates/vbt/Cargo.toml | 1 + crates/vbt/src/types/error.rs | 17 +++++++++++++++++ crates/vbt/src/types/mod.rs | 1 + 4 files changed, 40 insertions(+) create mode 100644 crates/vbt/src/types/error.rs diff --git a/Cargo.lock b/Cargo.lock index b22ab5e6..81d816b2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12,6 +12,7 @@ dependencies = [ "scraper", "serde", "serde_json", + "thiserror", "tokio", ] @@ -1356,6 +1357,26 @@ dependencies = [ "utf-8", ] +[[package]] +name = "thiserror" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "037e29b009aa709f293b974da5cd33b15783c049e07f8435778ce8c4871525d8" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea4778c7e8ff768bdb32a58a2349903859fe719a320300d7d4ce8636f19a1e69" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "tinyvec" version = "1.8.0" diff --git a/crates/vbt/Cargo.toml b/crates/vbt/Cargo.toml index 494e0549..d2d495bf 100644 --- a/crates/vbt/Cargo.toml +++ b/crates/vbt/Cargo.toml @@ -26,3 +26,4 @@ tokio = { version = "1.41", features = ["full"] } dotenv.workspace = true serde = { version = "1", features = ["derive"] } serde_json = "1" +thiserror = "2.0.2" diff --git a/crates/vbt/src/types/error.rs b/crates/vbt/src/types/error.rs new file mode 100644 index 00000000..13d0732f --- /dev/null +++ b/crates/vbt/src/types/error.rs @@ -0,0 +1,17 @@ +use std::io; +use thiserror::Error; +#[derive(Debug, Error)] +pub enum FileError { + #[error("Failed to create parent directory for {path}: {source}")] + CreateDir { + path: String, + #[source] + source: io::Error, + }, + #[error("Failed to create {path}: {source}")] + CreateFile { + path: String, + #[source] + source: io::Error, + }, +} diff --git a/crates/vbt/src/types/mod.rs b/crates/vbt/src/types/mod.rs index 4ff1d547..165365d0 100644 --- a/crates/vbt/src/types/mod.rs +++ b/crates/vbt/src/types/mod.rs @@ -1,2 +1,3 @@ pub mod book; +pub mod error; pub mod watchlist;