From a115a705984ff69394ad3ed167ee280d9d5eb43c Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Fri, 24 Jul 2020 19:58:43 +0200 Subject: Add error contexts Signed-off-by: Matthias Beyer --- src/maillist_view.rs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/maillist_view.rs b/src/maillist_view.rs index 4a38768..00ba7e0 100644 --- a/src/maillist_view.rs +++ b/src/maillist_view.rs @@ -22,9 +22,12 @@ impl MaillistView { pub fn create_for(database_path: &PathBuf, query: &str, name: String) -> Result { debug!("Getting '{}' from '{}'", query, database_path.display()); - let items = notmuch::Database::open(database_path, notmuch::DatabaseMode::ReadOnly)? - .create_query(query)? - .search_messages()? + let items = notmuch::Database::open(database_path, notmuch::DatabaseMode::ReadOnly) + .context(format!("Opening database {}", database_path.display()))? + .create_query(query) + .context("Creating the search query")? + .search_messages() + .context(format!("Searching for messages with '{}'", query))? .map(|msg| { let mail_id = msg.id().to_string(); let tags = msg.tags().collect(); @@ -36,7 +39,8 @@ impl MaillistView { }) .context(format!("Getting the date of message {}", msg.id()))?; - let from = msg.header("From")? + let from = msg.header("From") + .context(format!("Reading Header field 'From' of {}", msg.id()))? .map(|f| f.to_string()) .ok_or_else(|| { error!("Failed to get From for {}", msg.id()); @@ -44,13 +48,15 @@ impl MaillistView { }) .context(format!("Getting the 'From' of message {}", msg.id()))?; - let to = msg.header("To")? + let to = msg.header("To") + .context(format!("Reading Header field 'To' of {}", msg.id()))? .map(|c| c.to_string()) .unwrap_or_else(|| { error!("Failed to get 'To:' field for {}, using default ''", msg.id()); String::from("") }); - let subject = msg.header("Subject")? + let subject = msg.header("Subject") + .context(format!("Reading Header field 'Subject' of {}", msg.id()))? .map(|s| s.to_string()) .ok_or_else(|| { error!("Failed to get Subject for {}", msg.id()); -- cgit v1.2.3