summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2020-07-24 19:58:43 +0200
committerMatthias Beyer <mail@beyermatthias.de>2020-07-24 19:58:43 +0200
commita115a705984ff69394ad3ed167ee280d9d5eb43c (patch)
tree3745ad00b7cf34ada014d2eb5d062ac60cdc6f7d
parent31fc51f5beb12a49a469f0a4aa55831ad0fa473d (diff)
Add error contexts
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--src/maillist_view.rs18
1 files 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<Self> {
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());