blob: 05cd79fe62f029cce8c3f85e72025180ba1f5baa (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
use dirs;
use notmuch;
use std::sync::Arc;
use notmuch::StreamingIteratorExt;
use notmuch::{Query, QueryExt, Threads};
fn main() {
let mut mail_path = dirs::home_dir().unwrap();
mail_path.push(".mail");
match notmuch::Database::open(
&mail_path.to_str().unwrap().to_string(),
notmuch::DatabaseMode::ReadOnly,
) {
Ok(db) => {
#[cfg(feature = "v0_21")]
{
let rev = db.revision();
println!("db revision: {:?}", rev);
}
let query = {
let dbr = Arc::new(db);
notmuch::Query::create(dbr.clone(), &"".to_string()).unwrap()
};
// let mut threads = query.search_threads().unwrap();
// let mut threads = db.create_query(&"".to_string()).unwrap().search_threads().unwrap();
let threads = Arc::new(<Query<'_> as QueryExt>::search_threads(query).unwrap());
while let Some(thread) = <Threads<'_, _> as StreamingIteratorExt<_>>::next(threads.clone())
{
println!("thread {:?} {:?}", thread.subject(), thread.authors());
}
}
Err(err) => {
println!("Got error while trying to open db: {:?}", err);
}
}
}
|